首页 > 代码库 > 【MFC】MFCMenuButton 的用法
【MFC】MFCMenuButton 的用法
背景:因为对话框界面上的空间有限,为了节省空间,我决定采用一个MFCMenuButton用来实现同一类按钮事件。本来我打算设置两个按钮:“单个删除文件”和“清空所有文件”两个按钮,但是空间太小,而且这两个按钮的功能相似,所以,我干脆将这两个按钮组合成为一个按钮,采用下拉菜单选择的方式分别触发按钮事件。
首先,需要创建一个菜单资源。如果资源视图中没有Menu文件夹,则需要在资源视图窗口右击后缀为.rc的文件夹,选择添加资源,弹出对话框。
在弹出的对话框中选择Menu,之后点击新建按钮。在新建的Menu上面设置下拉菜单每个选项的名字。
分别设置两个选项的ID如下所示。
好了,现在这个名字叫做"IDR_MENU1"的菜单就编辑好了,下面在MFCMenuButton中调用该菜单资源即可。
首选,需要新建一个MFCMenuButton的控件,然后添加关联变量,假设为m_MenuButton1。
在对话框的OnInitDialog()函数中插入下面的代码,载入菜单资源。
1 CMenu* pMenu = new CMenu; 2 pMenu->LoadMenu(IDR_MENU1); //载入菜单资源 3 m_MenuButton1.m_hMenu = pMenu->GetSubMenu(0)->GetSafeHmenu();
在按钮事件中插入下面的代码进行测试。
void CTABPAGE2::OnBnClickedMfcmenubuttonDelete1() { // TODO: 在此添加控件通知处理程序代码 if(m_MenuButton1.m_nMenuResult == ID_X_Single) { AfxMessageBox(_T("单个删除文件!")); } else if(m_MenuButton1.m_nMenuResult == ID_X_All) { AfxMessageBox(_T("删除全部文件")); } return; }
弹出对话框的部分替换成为功能语句即可分别完成不同的功能。
【MFC】MFCMenuButton 的用法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。