如何从动态添加的菜单中获取所选项目在MFC中 [英] how to get selected item from an dynamically added Menu In MFC

查看:61
本文介绍了如何从动态添加的菜单中获取所选项目在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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆