单击时如何从 MFC 弹出菜单中获取字符串值而不使用资源 ID
我正在创建一个动态弹出菜单,但不生成资源 ID。如何在没有资源 ID 的情况下跟踪单击的操作?
有什么方法可以获取菜单的字符串值吗?
CMenu m_subMenu;
m_subMenu.CreatePopupMenu();
utf16string actionName(L"");
int nCatgryId = 1000;
for( ; itr != itrEnd ; ++itr)
{
actionName = itr->first;
CString csActionName = actionName.c_str();
AppendMenu(MF_STRING,nId++, csActionName);
}
那么当单击某个操作时如何从菜单中获取值呢?
I'm creating a dynamic popup menu without generating resource ids. How can I keep track of the clicked action without a resource id?
Is there any way I can get menu's string value?
CMenu m_subMenu;
m_subMenu.CreatePopupMenu();
utf16string actionName(L"");
int nCatgryId = 1000;
for( ; itr != itrEnd ; ++itr)
{
actionName = itr->first;
CString csActionName = actionName.c_str();
AppendMenu(MF_STRING,nId++, csActionName);
}
So how do I obtain the value from the menu when an action is clicked?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
并在
WM_COMMAND
中处理它And handle it in
WM_COMMAND
每个菜单项在创建时都需要有一个 ID。您需要保留一个 ID 列表,使用它们来创建菜单项,然后使用正常的菜单功能来获取有关它们的信息。
Every menu item, when you create it, needs to have an ID. You need to reserve a list of ID's, use those to create the menu items, then use the normal menu functions to get information on them.