基于对话框的MFC应用程序基本结构

时间:2023-03-08 22:52:58
基于对话框的MFC应用程序基本结构

新建一个基于对话框的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。