修改菜单项
Modifying menu items
我有一个弹出菜单,我想在显示之前修改它。我实际上可以很好地修改菜单项的字符串。问题是,这使得它变得毫无用处,因为当点击修改后的菜单项时什么都不会发生
CMenu* pPopup = menu.GetSubMenu(0);
ASSERT(pPopup != NULL);
CWnd* pWndPopupOwner = this;
while(pWndPopupOwner->GetStyle() & WS_CHILD)
pWndPopupOwner = pWndPopupOwner->GetParent();
// modify string
pPopup->ModifyMenu(1, MF_BYPOSITION | MF_STRING, NULL, oss.str().c_str());
pPopup->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, point.x, point.y, pWndPopupOwner);
对ModifyMenu
的调用将菜单的ID设置为零(通过第三个参数)。你需要保持ID不变。
如果这很尴尬,SetMenuItemInfo
API允许您在不更改ID的情况下更改字符串。
相关文章:
- 难以从 CImageList 设置菜单项位图
- 连接资源文件中的字符串,并将其传递给菜单项字符串 (winapi) c++
- 获取 c++ mfc vs2015 中弹出资源菜单项的 id
- 无法在 cocos2dx 中显示菜单菜单项图像
- 带有回调函数的cocos2d-x菜单项错误
- 如何安全地将包含的对象(菜单项)与需要容器(菜单)的API同步
- QT在菜单项上显示模态对话框(.UI)单击
- 将菜单项添加到Windows Explorer右键单击Java中的上下文菜单
- 如何在Qt中再次将菜单项变灰
- 如何在 c++ win32 API 中向菜单项添加图标
- gtkmm3中的菜单项始终处于禁用状态
- 在cocos2dx中创建菜单项标签时断言失败
- 单击上下文菜单项时运行程序
- MFC 菜单项未打开对话框
- 正在获取所选子菜单项的值
- 为什么我的菜单项不可点击?
- 如何获取插入菜单项时要使用的下一个命令 ID
- 在C++中检索Windows中的菜单项列表
- 如何检查菜单中的哪个项目被选中?如何通过选择菜单项发送int/wxstring
- 如何使Qt中的菜单项变灰