1.MFC简介

Microsoft Foundation Class微软基础类库,这个类集以层次结构组织起来,其中封装了发部分的Windows API函数和Windows控件,它所包含的功能设计整个Windows操作系统。使用MFC类库和VC++提供的高度可视的应用开发工具,可使应用程序开发更加简单,开发周期大大缩短,提高代码的可靠性和可重用性。

2.任务

新建一个MFC工程后,选在经典MFC界面,下一步下一步...然后编译即可得到一个最基本的MFC工程。该工程存在一个菜单栏,用户区和一个工具栏。在菜单栏中有一个叫做“关于”的菜单项,点击即可弹出一个模式对话框。为了加深对MFC框架的理解,我想在这个工程中添加一个自己的对话框,从而了解到底是哪些部分在操纵着对话框资源的建立和使用。

3.过程

1.为各个需要用到的资源分配ID

2.在主程序窗口类中添加响应函数声明并在.cpp文件中实现

void CCaculatorApp::OnMydlg()
{CMYDLG MyDlg;MyDlg.DoModal();
}

3.在.cpp文件的消息映射中添加与自己的对话框有关的消息映射

BEGIN_MESSAGE_MAP(CCaculatorApp, CWinApp)ON_COMMAND(ID_APP_ABOUT, &CCaculatorApp::OnAppAbout)ON_COMMAND(ID_32772,&CCaculatorApp::OnMydlg)// 基于文件的标准文档命令ON_COMMAND(ID_FILE_NEW, &CWinApp::OnFileNew)ON_COMMAND(ID_FILE_OPEN, &CWinApp::OnFileOpen)// 标准打印设置命令ON_COMMAND(ID_FILE_PRINT_SETUP, &CWinApp::OnFilePrintSetup)
END_MESSAGE_MAP()

3.新建一个对话框类继承CDialogEx,与资源文件中自己的对话框绑定

class CMYDLG : public CDialogEx
{
public:CMYDLG();// 对话框数据enum { IDD = IDD_MYDLG };protected:virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV 支持实现(若对话框内无空间则不添加下面那条消息映射声明,否则编译出错)
//protected:
//  DECLARE_MESSAGE_MAP()
};

4.效果

点击“计算单元”中的“我的对话框”,弹出成功。

在MFC工程中新建一个对话框相关推荐

  1. 非MFC工程中使用MFC库

    需求说明 C++工程的类型有很多,从VS(或VC)可以看到常见的有:Win32 Console Application.MFC Application.Win32 Project等.在创建MFC工程时 ...

  2. mfc工程中添加com接口支持

    在普通的mfc工程中常常需要添加com接口支持.最典型的应用就是使用 com中的连接点机制时,需要在客户端实现事件接受器.简单说来,就是要实现在com服务器端声明的事件接口.这个接口由server端暴 ...

  3. eclipse新建一个java_Eclipse中新建一个java源文件的步骤

    [简答题]请根据第六次讨论题目进行讨论.并将你的讨论回答的ppt传到此处. [简答题]P152页,习题9 一.二(2,3).请将回答的word文档上传到此处. [简答题]第五次讨论:讨论题目参见课程网 ...

  4. springboot controller 中新建一个控制器类 提示该类从未被使用

    java web项目 springboot框架 webapi前后端分离 看了一篇文章 从文章中提到的github上拉取的代码 在springboot中新建一个控制器类,却提示该类从未被使用? 是因为创 ...

  5. 10-1Python学习笔记 10-2C语言学习笔记 : 在文本编辑器中新建一个文件, 写几句话来总结一下你至此学到的Python知识

    10-1 Python学习笔记 : 在文本编辑器中新建一个文件, 写几句话来总结一下你至此学到的Python知识, 其中每一行都以"In Python you can"打头. 将这 ...

  6. 使用cmd命令在桌面上新建一个文件夹,且在文件夹中新建一个.java文件,使用cmd命令实现.java文件的编译运行

    标题使用cmd命令在桌面上新建一个文件夹,且在文件夹中新建一个.java文件,使用cmd命令实现.java文件的编译运行 1.在电脑桌面使用快捷键win+r打开 2.打开cmd命令界面之后使用md d ...

  7. keil5中新建一个STM32工程

    前言 相信很多stm32的初学者对于创建一个新的工程还是感觉比较困难的,即使学习了一段时间的stm32,创建一个新工程还是会感到无所适从.相信大家在学习stm32之初都是把整个例程工程文件copy下来 ...

  8. C++ Excel表格解析(一、MFC工程中的应用)

    一.前言 C++怎么解析Excel呢,这两天研究了一下,这一篇就来谈一谈MFC中如何解析Excel. 二.准备 2.1 代码结构 2.2 类说明 2.2.1 类型库 图中圈出来的这些类,都是一些自带的 ...

  9. 使用Spring boot开发一个接口 - TODO应用中新建一个TASK

    spring initializr spring boot官方提供了很方便的初始化项目的方法,即spring initializr.可以直接在IDEA中创建,或在https://start.sprin ...

最新文章

  1. linux磁盘冗余阵列
  2. linux 如何打包分区文件,Linux基础------文件打包解包---tar命令,文件压缩解压---命令gzip,vim编辑器创建和编辑正文件,磁盘分区/格式化,软/硬链接...
  3. 5种iterator
  4. 关于std::string和 C-style string的一些知识点备忘
  5. MySql基础笔记(三)其他重要的事情
  6. MYSQL初学者命令行使用指南
  7. An internal error occurred during: Launching MVC on Tomcat 7.x.
  8. Centos下更新php
  9. bootice工具修复linux,bootice工具怎么修复引导win7
  10. raw数据拆分成rggb四通道,拆分与合成
  11. Carmack平方根函数经典案例
  12. R语言 表达式对象的求值 eval
  13. 数据库应用——Atlas代理MySQL集群实现读写分离
  14. 网站收录信息查询工具|世界排名
  15. Java日志框架简介
  16. Excel 表格中固定表头
  17. 京东 java开发 待遇_【京东金融工资】java开发工程师待遇-看准网
  18. 大学生自学Python获得人生第一桶金,月入过万的教程送给你
  19. hbase在海量用户日志中快速查询访问路径的使用场景
  20. 【vue学习笔记】vue-cli-service的使用

热门文章

  1. 如何进行字体图标自定义
  2. 使用 HandlerThread
  3. 关于 剪映电脑版无法打开的问题!
  4. python采集shipin及评论数据并作自动点赞操作~
  5. 汉游天下掼蛋源码window.onload用法技巧
  6. 2021年茶艺师(中级)考试内容及茶艺师(中级)最新解析
  7. 委内瑞拉石油币至今连“一毛钱”都没筹到,腾讯投资的轻松筹入局区块链 | 区块链日报
  8. 简述:游戏中的公共系统认知
  9. 多触点电器自动测试系统
  10. 祖安服务器位置,光明日报:不能坐视粗鄙的祖安文化侵蚀校园