MFC中,怎样在一个新建的对话框上加菜单栏?

MFC中,怎样在一个新建的对话框上加菜单栏?,第1张

1、先在资源视图下选择添加资源,选择菜单,然后在对话框的属性栏,选择Menu(会有你添加菜单的ID)即可。

2、先在资源视图下选择添加资源,选择菜单

CMenu

m_menu

m_menu.loadMenu(你添加菜单资源的ID);

SetMenu(&m_menu)

以下过程适用于VC6.0版本。

添加菜单:

第一步,建立基于对话框的工程。

第二步,添加menu资源,添加菜单项,设其ID为IDR_MENUADD,添加所需要的菜单项。

第三步,在menu资源界面按Ctrl+W进入ClassWizard,此时会d出一个对话框,选中“select an exitingclass”,然后在select class对话框中选中主对话框类。然后点OK。

第四步,打开主对话框的属性,general下有一menu选项,选中刚才添加的mune资源的ID.如下:

最后,程序运行如下:

设定快捷键:

第一步,添加资源Accleerator,如下,点击New

第二步,在ResourceView下打开Accleerator ,打开IDR_ACCELERATOR1

然后双击两虚线之间部分,会d出一个设置的对话框,在ID栏选中要设置的菜单ID,在Key栏,设置你想要的快捷键,如下:

第三步,在菜单项添加快捷键说明

思路是这样的,先在资源面板里添加一个menu资源,编辑成自己想要的,完成以后在需要右键单击触发的地方添加右键单击事件,代码里写入d出这个menu

CMenu m,*pm

if(!m.LoadMenu(IDR_MENU1)) MessageBox(_T("err"))//IDR_MENU1是相应的资源id

pm=m.GetSubMenu(0)//获取子对话框

CPoint pot

GetCursorPos(&pot)//获取鼠标当前位置

pm->TrackPopupMenu(TPM_LEFTALIGN,pot.x,pot.y,this)//在鼠标位置d出菜单

注意,上面的pm是获取的是第一个主menu项下的子menu,比如设计menu资源的时候主menu从左到右是1,2,3,其中1下面又添加了4,5,6

那么这个程序d出的menu就是4,5,6

自己建个工程体会一下就知道了


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11870582.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存