一般创建MFC有四种程序类型,分别是单个文档,多个文档,基于对话框和顶级文档。其中只有基于对话框的类型是不自带菜单栏的,但是如果需要,也可以手动创建,也是非常简单的。

如何添加菜单?

此处以VS2012为例。

首先要创建菜单
在资源视图中右键,选择添加资源

选择菜单资源,然后新建,如果有现成资源也可以导入。

编辑好菜单,并保存。

接下来要在对话框上显示菜单
要先看一下菜单ID是什么,才知道要添加哪个菜单。(菜单ID最好是改一下,才方便辨认)

在对话框的属性界面找到Menu项,选择这个菜单。注意不是SystemMenu。

编译运行!! 程序有菜单了。

以代码形式添加菜单

首先创建菜单,跟上面方法一样
然后,在头文件中创建一个CMenu类型的变量,叫m_menu

CMenu m_menu;

然后再在cpp文件的初始化函数中添加:

// 加载菜单资源
m_menu.LoadMenu(IDR_MENU1);
// 设置菜单
this->SetMenu(&m_menu);

效果一样。

给菜单添加消息响应函数

设置菜单接收点击消息后,做出响应的函数。
右击要设置的选项,点击添加消息事件处理函数

设置各种属性

当接收到点击时就会调用该函数。建议创建前先修改选项的ID,不修改的话默认时数字,不易区分和辨识。

MFC对话框程序如何添加菜单相关推荐

  1. MFC对话框程序中添加工具栏及工具栏上的Button响应UPDATE_COMMAND_UI消息

    对话框中添加工具栏及工具栏上的Button响应UPDATE_COMMAND_UI消息 在对话框程序中添加工具栏其实很简单,网上能找到很多的例子.一般的步骤就是:1.在资源中添加工 具栏资源:2.在对话 ...

  2. MFC——基于MFC对话框程序中添加菜单栏 (CMenu)解决方案

    开发环境 Visual C++ 6.0 MFC 解决方案 一.将Menu加入Resource视图中 在WorkSpace中的Resource视图下,在任意一个文件夹图标上,右击选择Insert(插入) ...

  3. VS2017 MFC对话框程序打印及打印预览的实现

    VS2017 MFC对话框程序打印及打印预览的实现 花了一个星期,研究了网上大量的MFC对话框打印及打印预览功能的demo之后,网上现有的版本都比较旧,所以选中了几个版本,合并修改,得到这个比较完美的 ...

  4. VS2010/MFC对话框程序调用Windows Media Player播放器控件

    MFC对话框程序调用Windows Media Player播放器控件播放打开的avi格式的文件,具体步骤如下: 1.根据MFC向导提示,创建一个默认的对话框项目TestMediaPlayer. 2. ...

  5. MFC应用程序中添加控制台窗口

    在MFC程序中输出调试信息的方法有两种,一种是使用TRACE宏,可以向Output窗口输出调试信息:另一种是用MessageBox,弹出消息框来输出调试信息,但会影响程序的运行. 其实有一种方法可以更 ...

  6. MFC应用程序中添加控制台窗口---debug输出窗口

    在MFC程序中输出调试信息的方法有两种,一种是使用TRACE宏,可以向Output窗口输出调试信息:另一种是用MessageBox,弹出消息框来输出调试信息,但会影响程序的运行. 其实有一种方法可以更 ...

  7. 使用VC++6.0创建MFC对话框程序

    使用VC++6.0创建MFC对话框程序

  8. VS2010环境下用c++语言在MFC对话框程序中连接及操作Mysql 数据库

    小编近来由于工作需要,需要折腾一下MySql据库, 由于以前用的数据库不是 MySql, 也不是在 VS2010 , 更不是在 MFC 中连接数据库.所以还颇费了一番周折才实现了把数据插入到数据库表格 ...

  9. 添加RichEdit控件导致MFC对话框程序无法执行的解决方法

    解决办法: 在应用程序类(App类)中的InitInstance函数体内添加以下语句: AfxInitRichEdit();         对应1.0版本 如果有2.0版本需要添加如下 AfxIni ...

最新文章

  1. HP 服务器使用 SmartStart CD 引导安装 windows 2008 操作系统
  2. POJ 3126 Prime Path BFS搜索
  3. Mybatis解析动态sql原理分析
  4. [转]jQuery ListBox Plugin(ListBox插件)
  5. 支付宝钱包流量电量优化实践
  6. multiple多图选择,借助FormData通过ajax实现上传
  7. 读《活着》余华---笔记
  8. 系统辨识(一):相关概念
  9. 以太坊-区块链开发入门
  10. 苹果电脑的文件怎样拷贝入移动硬盘里
  11. 中国有机菠萝汁行业市场供需与战略研究报告
  12. Vue实战篇三十四:给新闻WebApp加入模拟注册登录功能
  13. spark-大表join优化方案
  14. spring cache注解@Cacheable参数key赋值
  15. QT之远程控制对方电脑
  16. 小白c++ C6386缓冲溢出问题请教
  17. 流体力学课上的老师这句话,让我义无反顾的上了CFD这艘“贼船”
  18. nvm,nrm 管理 node版本号 和 npm 源管理
  19. 微信小程序 - 跨域问题
  20. Java微信公众号服务号开发(二):接口信息配置

热门文章

  1. 【转】jquery文件上传插件uploadify在.NET中session丢失的解决方案
  2. UiPath如何实现暂停功能?
  3. 时间太少,如何阅读?
  4. Kali Linux Network Scanning Cookbook读书笔记之nmap
  5. for /r命令实现全盘搜索指定文件
  6. Eclipse快捷键大全(同样适用基于Eclipse开发的IDE)
  7. Spring+Hibernate整合Hessian
  8. datagridview列 值提取_提取符合条件的多个记录,VLOOKUP:盘他!
  9. 【转】asp.net项目在IE11下出现“__doPostBack”未定义的解决办法
  10. 解决SSH项目乱码问题的环境配置方案