一般创建MFC有四种程序类型,分别是单个文档,多个文档,基于对话框和顶级文档。其中只有基于对话框的类型是不自带菜单栏的,但是如果需要,也可以手动创建,也是非常简单的。
如何添加菜单?
此处以VS2012为例。
首先要创建菜单
在资源视图中右键,选择添加资源
选择菜单资源,然后新建,如果有现成资源也可以导入。
编辑好菜单,并保存。
接下来要在对话框上显示菜单
要先看一下菜单ID是什么,才知道要添加哪个菜单。(菜单ID最好是改一下,才方便辨认)
在对话框的属性界面找到Menu项,选择这个菜单。注意不是SystemMenu。
编译运行!! 程序有菜单了。
以代码形式添加菜单
首先创建菜单,跟上面方法一样
然后,在头文件中创建一个CMenu类型的变量,叫m_menu
CMenu m_menu;
然后再在cpp文件的初始化函数中添加:
// 加载菜单资源
m_menu.LoadMenu(IDR_MENU1);
// 设置菜单
this->SetMenu(&m_menu);
效果一样。
给菜单添加消息响应函数
设置菜单接收点击消息后,做出响应的函数。
右击要设置的选项,点击添加消息事件处理函数
设置各种属性
当接收到点击时就会调用该函数。建议创建前先修改选项的ID,不修改的话默认时数字,不易区分和辨识。