新建一个基于对话框的MFC应用程序,假设命名为 Test:则该应用程序在刚创建的时候,有4个非常重要的文件和3个类:

4个非常重要的文件

1、Test.h

2、Test.cpp

(应用程序类头文件)

(应用程序类实现文件)

3、TestDlg.h

4、TestDlg.cpp

(对话框类头文件)

(对话框类实现文件)

3个类
类名 定义所在位置 类的实现代码所在位置
CTestApp Test.h Test.cpp
CTestDlg TestDlg.h TestDlg.cpp 
CAboutDlg TestDlg.cpp TestDlg.cpp

每个文件中的内容: 

1、

Test.h:

(1)#pragma once + 非活动预处理 + 各种包含(resource.h + 后续各种类的头文件);

(2)CTestApp类的定义(构造函数、重写InitInstance函数,声明消息映射表);

(3)extern CTestApp theApp(声明了一个应用程序对象);

2、

Test.cpp:

(1)各种包含头文件(stdafx.h + Test.h + TestDlg.h)+ 活动预处理;

(2)消息映射表(BEGIN~END);

(3)应用程序类构造函数:CTestApp();

(4)声明唯一的一个CTestApp对象;

(5)CTestApp初始化函数:InitInstance();

3、

TestDlg.h:

(1)#pragma once + 各种包含(afxwin.h + 后续的各种类的头文件);

(2)CTestDlg类定义(关联的对话框ID + HICON m_hIcon +构造+ DoDataExchange +声明消

息映射函数(OnInitDialog+OnSysCommand+OnPaint+OnQueryDragIcon)+ 声明消息映射表);

4、

TestDlg.cpp:

(1)各种包含头文件(stdafx.h + afxdialogex.h + Test.h + TestDlg.h) + 活动预处理;

(2)CAboutDlg类的定义(关联的对话框ID + 构造 + DoDataExchange + 声明消息映射表)+

  实现(构造 + DoDataExchange + 消息映射表BEGIN~END);

(3)CTestDlg类的实现(构造 + DoDataExchange + 消息映射表BEGIN~END);

 (表中有3个消息ON_WM_SYSCOMMAND + ON_WM_PAINT + ON_WM_QUERYDRAGICON)

(4)CTestDlg消息处理程序:(消息处理程序对应消息映射表中的消息)

OnInitDialog + OnSysCommand + OnPaint + OnQueryDragIcon。

  

基于对话框的MFC应用程序基本结构的更多相关文章

  1. VS中基于对话框的MFC利用换肤改变边框颜色及格式

    第一版本: http://ishare.iask.sina.com.cn/f/13836420.html?from=like 2. http://www.cnblogs.com/phinecos/ar ...

  2. 如何在VS2010的VC++ 基于对话框的MFC程序中添加菜单

    方法1:亲测 成功  转载自https://social.msdn.microsoft.com/Forums/vstudio/zh-CN/48338f6b-e5d9-4c0c-8b17-05ca3ef ...

  3. VS2008基于对话框的MFC上位机串口通信(C++实现)简单例程

    首先,在 vs2008 环境下创建 MFC 运用程序 设置项目名称为 ComTest(这个地方随意命名,根据个人习惯),点击确定后,点击下一步 出现如下界面 选择"基于对话框"模式 ...

  4. 如何将基于对话框的MFC工程改成基于BCG的

    1.stdafx.h 加入如下内容.BCGCBProInc.h间接导入了lib. 2.应用程序类的父类由CWinApp改成CBCGPWinApp.构造函数增加如下代码: 3.对话框的父类有CDialo ...

  5. 给基于对话框的MFC程序添加状态栏并实时显示时间

    转载自丝雪儿 1.首先在string table 里添加两个字串,ID分别为IDS_INDICATOR_MESSAGE and IDS_INDICATOR_TIME 2.在你的 dlg.h 类里面加个 ...

  6. 基于对话框的Opengl框架

    转自:http://blog.csdn.net/longxiaoshi/article/details/8238933 12-11-29 14:55 1198人阅读 评论(6) 收藏 举报  分类: ...

  7. MFC中在基于对话框的窗体中使用CFileDialog导致菜单栏变灰的解决方案

    CSDN的博客编辑器实在是难用……转战博客园 直接把CSDN发的搬过来了 ————————————————————————————我是分割线———————————————————————————— 第 ...

  8. 2、创建MFC应用程序——基于对话框,时间计时器

    使用计时器更新MFC界面时间,频率1s. 文件——新建项目——MFC应用程序,下一步,选择基于对话框,其他默认,完成. 双击窗体(或者鼠标右键)进入类向导,自动创建Ontimer()函数 void C ...

  9. VS2013 MFC基于对话框编程

    前言一直利用Qt库做Ui设计,但针对于一些MFC项目,掌握一些必要的MFC开发技巧还是很有必要的.这篇博客里就将自己所学的一些MFC浅显知识记录一下,方便今后的学习.博客里只记录关键步骤. 一.新建M ...

随机推荐

  1. n个人作m幅画

    题目网址: http://codeforces.com/problemset/problem/416/B A well-known art union called "Kalevich is ...

  2. Maven创建servlet项目演示(三)

    上一节用Maven新建了web项目成功后,本文演示在此基础上应用servlet. 从对tomcat服务器进行配置可的过程中可以知道,tomcat作为servlet容器运行,负责处理客户请求,把请求传送 ...

  3. 【Asphyre引擎】发布了新版本V101

    引擎简称还是PXL,但是这个P是Platform而不是Pascal. 修复了一些bug,增加了轻量级的随机数发生器,进一步完善了XML的解析. 不是很明白,为何把Pascal扩展库改成Platform ...

  4. ASP.NET WebAPI 09 Controller的激活

    在Controller之前我们先回顾一下HttpMessageHandler通道. 在这个图中我留一个HttpContollerDispatcher没有说明.因为这个类也是继承自HttpMessage ...

  5. IIS在默认情况并不支持对PUT和DELETE请求的支持

    IIS在默认情况并不支持对PUT和DELETE请求的支持: IIS拒绝PUT和DELETE请求是由默认注册的一个名为:“WebDAVModule”的自定义HttpModule导致的.WebDAV的全称 ...

  6. winform(多窗体、菜单和工具栏)

    一.多窗体 1.哪个是主窗体 利用From1的button将From2打开 private void button1_Click(object sender, EventArgs e) { Form2 ...

  7. CSS层次选择器温故-2

    1.层次选择器 通过HTML的DOM元素间的层次关系获取元素,层次关系包括后代.父子.相邻兄弟和通用兄弟,通过其中某类关系可以方便快捷地选定需要的元素 2.语法 3.兼容性 IE7以及以上版本 4.后 ...

  8. Get a developer license for windows store app

     获取你的开发者许可证 开发人员许可证是免费.如果您通过使用微软账户获取一个或多个开发人员的许可证,您必须续订他们每隔 30 天 当您运行或调试应用程序第一次在远程机器上或直接连接到您的开发计算机的设 ...

  9. SAP 金额在表中的存储及货币转换因子

    场景:一个接口出问题了,SAP通过RFC将SO数据传输到Java系统,错误的将100日元传为1.00日元. 其实查看SAP透明表发现,表中存储的的确是1.00,是前台真实数据的1/100,开发接口时没 ...

  10. android 类ios actionsheet效果

    1.http://blog.csdn.net/zhaoxy_thu/article/details/17733389 2. https://github.com/ojhariddhish/action ...