一、创建基于对话框的应用程序框架

1.选择菜单项文件->新建->项目,弹出“新建项目”对话框。

2.直接选择“MFC应用程序”或左侧面板中模板的Visual C++下选择MFC,中间窗口中选择MFC应用程序,然后在下面编辑框中键入工程名称,并设置工程的保存路径。点“确定”。(如下图所示)

图1

3.如图2所示,点“下一步”。

图2

4.点“下一步”到“MFC应用程序向导”对话框,在应用程序类型下选择基于对话框,其他使用默认设置,点“下一步或完成”。如下图所示:

图3

图4

5.完成后选择资源视图,打开资源文件,双击下图箭头所示文件,即为基于对话框窗口如下图所示。

图5

图6

二、添加菜单栏并在对话框中显示

6.添加MENU文件,如下图所示,选择资源文件点击鼠标右键,选择添加资源。

图7

7.选择“Menu”项,点击新建

图8

8.根据自己需要添加菜单项

图9

图10

9.在BOOL CMFCApplication4Dlg::OnInitDialog()函数中添加插入菜单栏代码

CMenu menu;
menu.LoadMenu(IDR_MENU1);  //IDR_MENU1为菜单栏ID号
SetMenu(&menu);

图11

10.编译运行后,即可看到

图12
一、实现点击菜单栏按钮弹出新窗口

11.添加一个新的目标窗口:选择Dialog文件夹,右键选择“插入Dialog(E)”项;完成后双击新建目标窗口,自动弹出“MFC添加类向导”窗口,填写类名,其他项默认即可,点击完成,系统会自动生成链接代码,有兴趣可自行研究。如下图

图13

12.回到Menu菜单窗口,在窗口内点击右键,选择“编辑ID(E)”选项,为每个菜单按钮添加ID,如图

图14

图15

13.根据步骤12推出编辑ID模式,选择自己需要弹出新窗口的按钮,选择点击右键,我一“View”按钮为例,“添加事件处理程序(A)”项 -> 弹出事件处理程序向导窗口,类列表选择主函数所在类。其余项默认即可。完成后点击右下角“添加编辑”项。如图

图16

14.完成步骤13,自动跳到添加事件处理代码处,添加以下代码:

NewForm  Dlg;
Dlg.DoModal();

并添加头文件

#include "NewForm.h"

图17

图18

15.完成后编译运行即可实现点击按钮弹出新窗口

图19

有问题可留言!我也是新手,大家一起讨论学习。

MFC基于对话框上插入MENU菜单栏并点击菜单弹出新窗口相关推荐

  1. 小程序地图插入图标后 怎么实现点击图标弹出窗口

    1问题描述 本次博客的要解决的问题是:小程序地图插入图标后 怎么实现点击图标弹出窗口 如图: 2算法描述点击标记点获取数据 想要在地图等页面上显示弹窗,是使用的是marke的方法,点击标记点获取数据 ...

  2. MFC基于对话框添加图片控件

    建立MFC基于对话框工程,命名为AutoRecFunct. 第一种方法:拖动一个图片控件修改其ID为IDC_STATIC_PICTURE. 右击为其添加变量m_picture. 不知为何不能在初始化的 ...

  3. PyQt5点击菜单栏弹出新窗口,解决新窗口闪退的实现方法

    PyQt5点击菜单栏弹出新窗口,解决新窗口闪退的实现方法 参考文章: (1)PyQt5点击菜单栏弹出新窗口,解决新窗口闪退的实现方法 (2)https://www.cnblogs.com/aziji/ ...

  4. C++MFC基于对话框的编程——模态(非模态)对话框

    目录 一.添加MFC功能 二.创建基于MFC的应用程序框架 三.初识界面 四.上案例 1.拖控件button(两个) 2.改控件名字 2.1改名方法1 2.2改名方法2 3.添加两个新的对话框(Dia ...

  5. C++小知识——VS2013 MFC基于对话框编程

    转载自:https://blog.csdn.net/wokaowokaowokao12345/article/details/53173966 前言 一直利用Qt库做Ui设计,但针对于一些MFC项目, ...

  6. 棋类对战小游戏(VS2012 MFC基于对话框)

    1需求分析 二打一棋用户需要的功能如下: (1)移动棋子:玩家通过鼠标点击能够实现棋子的移动,同时保证每次只能移动一格,且只能移动到未被占领的格子上. (2)吃掉棋子:同一条线上的己方两个棋子可以吃掉 ...

  7. VS2013 MFC基于对话框编程(创建工程)

    一.新建MFC项目 选择:基于对话框 MFC的使用:  在共享DLL中使用MFC (程序运行需要dll)  在静态库中使用MFC (程序较大,运行时不需要dll)  设置MFC程序主框架样式和标题  ...

  8. VC++ MFC获取对话框上控件的位置

    CRect rect;GetDlgItem(控件ID)->GetWindowRect(&rect);//获取控件的屏幕坐标 ScreenToClient(&rect);//转换为 ...

  9. wpf 点击按钮弹出新对话框_wpf弹出输入对话框

    (WINDOWPLACEMENT); wp.flags=WPF_RESTORET... 菜单项,打开新建项目对话框如图1.1. 在模板(T) 列表框中选择Windows窗体应用程序 ,在名称(N) 编 ...

最新文章

  1. 网络空间安全:社会工程学之信息追踪——学习笔记 利用搜索引擎追踪!
  2. [android] 异步http框架与实现原理
  3. python编程 语言-Python——最美丽的编程语言
  4. @Mybatis传多个参数
  5. mysql5.6.22.0安装_皮带机滚筒用圆锥孔调心滚子轴承锁紧安装工艺
  6. 以色辨位的Farmer(洛谷P5832题题解,Java语言描述)
  7. 简单的根据parentId生成树
  8. 解决tomcat的undeploy
  9. 精通 Pandas · 翻译完成
  10. 博物馆奇妙夜java_博物馆奇妙夜 2 Night At The Museum
  11. c语言状态机实现坐标切换,C语言状态机最优模式(转)
  12. java 打包运行环境_Jar 打包 EXE文件,可以脱离java环境运行 Jsmooth的使用
  13. kindle索引_Kindle太费电?卡索引解决办法
  14. “网红蜥蜴”背后的创业路,他潜心于宠物蜥蜴的研发与产业化_汇新云
  15. 计算机ppt制作教案,教案幻灯片制作
  16. 三方平台与对象存储对接后的应用场景及接口说明
  17. dede php,织梦(Dedecms){dede:php}{/dede:php}如何运用
  18. 优秀的程序员都在关注「沉默王三」公众号
  19. 构造方法以及构造方法的重载
  20. DPI、PPI、DP、PX 的详细计算方法及算法来源是什么

热门文章

  1. Mysql隔离级别、锁及死锁
  2. Windows本地连接正常,上不去网的解决办法
  3. excel mysql 联合,excel中如何关联上一表格数据库-怎么把EXCEL 与数据库关联
  4. 如何成为一名全栈工程师:专业建议与技能要求
  5. Linux命令之curl命令
  6. .net基础学java系列(五)慢性自杀 之 沉沦在IDE中
  7. 文本分析4-词频统计与词云展示
  8. Java - 栈(Stack)的特点 与 栈的基本操作
  9. android 使用kotlin 获取设备id
  10. Java生成随机数原理_Java中随机数的产生方式与原理详解