2个设置了相同ID和不同MenuData的Menu,怎么来区分是那一个Menu触发的这个事件?

chai21cn 2007-12-17 08:09:22


CMenu * pMenu = GetMenu();
pMenu = pMenu->GetSubMenu(1)->GetSubMenu(0);

int i = 0;
TCHAR szName[MAX_MODULE_NAME];

MENUITEMINFO menuItemInfo;
menuItemInfo.fMask = MIIM_STRING | MIIM_ID | MIIM_FTYPE | MIIM_DATA;
menuItemInfo.wID = ID_PLUGIN_MODULE; //这里是相同的ID
menuItemInfo.fType = MFT_STRING;
menuItemInfo.dwTypeData = szName;
menuItemInfo.cch = MAX_MODULE_NAME;
menuItemInfo.cbSize = sizeof(MENUITEMINFO);

while (i < 10)
{
menuItemInfo.dwItemData = (ULONG_PTR)i; //这里是不相同的MenuData
lstrcpy (szName, TEXT("晓不得"));
BOOL bResult = pMenu->InsertMenuItem(i++, &menuItemInfo, TRUE);
DWORD dwError = 0;
if (!bResult)
{
dwError = GetLastError();
}
}


ON_COMMAND(ID_PLUGIN_MODULE, &OnPluginModule)


怎么来区分是哪一个Menu触发的这个事件?
...全文
154 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
chai21cn 2007-12-17
  • 打赏
  • 举报
回复
想不出来,算了从此以后不再用Menu
lgy1977 2007-12-17
  • 打赏
  • 举报
回复
[供参考]我想用CMenu::m_hMenu来区别,因为句柄是唯一的。(为什么定义相同的ID呢?)

15,980

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧