0

我正在创建一个动态弹出菜单而不生成资源 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);
}

那么当点击一个动作时如何从菜单中获取值呢?

4

2 回答 2

0

每个菜单项在创建时都需要有一个 ID。您需要保留一个 ID 列表,使用这些 ID 创建菜单项,然后使用普通菜单功能获取有关它们的信息。

于 2011-07-18T15:22:08.450 回答
0
#define YOURMENU_ID  WM_APP+10
...
AppendMenu(.., YOURMENU_ID,...);

并处理它WM_COMMAND

于 2011-07-16T13:07:11.300 回答