MFC的Application Wizard所生成的各种文件功能

来源:互联网 发布:傣族 泰国 知乎 编辑:程序博客网 时间:2024/05/21 15:06
当我们用Application Wizard生成一个新的项目时,MFC会自动为我们产生不少的程序文件,那么这些文件都是干什么用的呢?
其实生成项目完成之后,我们会在项目目录里面发现一个readme.txt文件,项目所生成的程序文件在这里都有介绍,不过一般都是英文的。Application Wizard产生项目的同时,也展现了MFC机制为我们打下的程序框架,更为我们提供了用以扩展的程序。 
依据不同的选项,产生的文件也有所不同,以下是Application Wizard产生的标准程序文件(假设项目名称为ExMFC),大致可以分为以下几类: 
· 工作区文件、项目文件和make文件 
· 应用程序源文件和头文件 
· 资源文件 
· 预编译头文件 

· 按可选项增加的AppWizard文件 

工作区、项目文件和make文件 
ExMFC.dsp — 这是MFC生成的项目文件,它包含当前项目的设置、所包含的文件等信息。 
ExMFC.dsw — 这是MFC自动生成的工作区文件,它包含当前工作区所包含的项目的信息。 
ExMFC.MAK — 这是MFC项目的项目文件,这也是与NMAKE兼容的文件。如果选择了External make文件可选项,则可人工对它编辑,但不能利用Visual C++许多项目编辑特性。 
ExMFC.clw — 这个文件含有被ClassWizard用来编辑现有类或增加新类的信息。ClassWizard还用这个文件来保存创建和编辑消息映射和对话框数据所需的信息,或是创建虚拟成员函数所需的信息。 
应用程序源文件和头文件 
ExMFC.h — 这是应用程序的主头文件,它含有所有全局符号和用于包含其它头文件的#include伪指令。 
ExMFC.cpp — 这个文件是应用程序的主源文件。它将创建CExMFCApp类的一个对象(从CWinApp派生),并覆盖InitInstance成员函数。 
MainFrm.h,MainFrm.cpp — 这两个文件将从CFrameWnd(SDI应用程序)或CMDIFrameWnd(MDI应用程序)派生CMainFrame类。如果在AppWizard的Application Options页(6步中的第4步)中选择了对应的可选项的话,CMainFrame类将处理工具条按钮和状态条的创建。MAINFRM.CPP文件还含有MFC应用程序提供的默认工具条按钮的对象ID——叫做buttons数组。 
ExMFCDoc.h,ExMFCDoc.cpp — 这些文件从CDocument类派生并实现名为CExMFCDoc的文档类,并含有用于初始化文档、串行化(保存和装入)文档和用于调试诊断的一些成员函数的框架。 
ExMFCView.h,ExMFCView.cpp — 这些文件派生并实现名为CExMFCView的视类,用于显示和打印文档数据。CHelloView类是从CView或它的派生类派生出来的,含有绘制视和用于调试诊断的一些成员函数框架。 


资源文件 
ExMFC.rc, Resource.h, ExMFC.rc2 —这是项目的头文件及其资源文件。资源文件含有一般MFC应用程序的默认菜单定义和加速键表、字符串表。它还指定了缺省的About对话框和一个图标文件(res\ExMFC.ico)。资源文件了标准的MFC类的资源。如果指定了支持工具条,它还将指定工具条位图文件(RES\TOOLBAR.BMP)。ExMFC.rc2用于存放Visual Studio不可直接编辑的资源。 


预编译头文件:STDAFX.CPP,STDAFX.H 
这两个文件用于建立一个预编译的头文件ExMFC.PCH和一个预定义的类型文件STDAFX.OBJ。由于MFC体系结构非常大,包含许多头文件,如果每次都编译的话比较费时。因此,我们把常用的MFC头文件都放在stdafx.h中,如afxwin.h、afxext.h、afxdisp.h、afxcmn.h等,然后让stdafx.cpp包含这个stdafx.h文件。这样,由于编译器可以识别哪些文件已经编译过,所以stdafx.cpp就只编译一次,并生成所谓的预编译头文件(因为它存放的是头文件编译后的信息,故名)。如果读者以后在编程时不想让有些MFC头文件每次都被编译,也可以将它加入到stdafx.h中。采用预编译头文件可以加速编译过程。 
这样有了一个对Application Wizard所生成的各种文件的基本了解,剩下的就是添加自己要完成特定功能的东西了。
原创粉丝点击