如何从动态添加的菜单中获取所选项目在MFC中 [英] how to get selected item from an dynamically added Menu In MFC
本文介绍了如何从动态添加的菜单中获取所选项目在MFC中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在菜单中添加了子项。我正在尝试检索所选项目但没有成功。
请帮忙。
代码:< pre lang =c ++> CMenu menu.LoadMenu(IDR_MENU2);
CMenu * subMenu = menu.GetSubMenu( 0 );
CMenu * subMenu2 = subMenu-> GetSubMenu( 0 );
// 添加项目
subMenu2-> AppendMenu(MF_STRING,MENU_ITEM_ID, L (Wi-Fi));
ON_UPDATE_COMMAND_UI(MENU_ITEM_ID,& CAudioVideoSampleDlg :: OnMenuSelect)
谢谢,
Bilaal
解决方案
使用下面的代码解决了我的问题。谢谢你的支持
ON_COMMAND_RANGE(START_ID,END_ID,& OnDoSomething)
void OnDoSomething(UINT nID)
{
int index = nid - START_ID;
CString str;
subMenu2-> GetMenuString(index,str,MF_BYPOSITION);
}
str将从子菜单中提供所选项目。
谢谢,
Bilaal
I am added sub items to menu. I am trying to retrieve the selected item but not succeeded.
Please help.
Code:
CMenu menu.LoadMenu(IDR_MENU2);
CMenu *subMenu = menu.GetSubMenu(0);
CMenu *subMenu2 = subMenu->GetSubMenu(0);
//adding item
subMenu2->AppendMenu( MF_STRING, MENU_ITEM_ID , L"(Wi-Fi)");
ON_UPDATE_COMMAND_UI(MENU_ITEM_ID, &CAudioVideoSampleDlg::OnMenuSelect)
Thanks,
Bilaal
解决方案
Using the below code fixed my problem.thank you for the support
ON_COMMAND_RANGE(START_ID, END_ID, &OnDoSomething)
void OnDoSomething(UINT nID) { int index = nid - START_ID ; CString str; subMenu2->GetMenuString(index, str, MF_BYPOSITION) ; }
str will give the selected Item from the sub menu.
Thanks,
Bilaal
这篇关于如何从动态添加的菜单中获取所选项目在MFC中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文