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
#define YOURMENU_ID  WM_APP+10
...
AppendMenu(.., YOURMENU_ID,...);

そして、それを処理しますWM_COMMAND

于 2011-07-16T13:07:11.300 に答える
0

すべてのメニュー項目は、作成時に ID を持つ必要があります。ID のリストを予約し、それらを使用してメニュー項目を作成し、通常のメニュー機能を使用してそれらに関する情報を取得する必要があります。

于 2011-07-18T15:22:08.450 に答える