解决方法
您可以动态创建一个CMenu对象:
CMenu *menu = new CMenu; menu->CreatePopupMenu(); // Add items to the menu menu->AppendMenu(MF_STRING,menuItemID,"Text"); ...
wnd->GetMenu()->AppendMenu(MF_POPUP,(UINT_PTR)menu->m_hMenu,"Menu Name");
对于消息映射,假设所有菜单项ID都在一定范围内,您可以使用ON_COMMAND_RANGE
将整个范围映射到单个功能.该功能将作为参数接收ID,在该功能中可以根据ID执行不同的操作.