📄 chap3_2.htm
字号:
<html><head><title>3.2 AppWizard所创建的文件</title><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><meta name="GENERATOR" content="Microsoft FrontPage 3.0"></head><body link="#3973DE" alink="#3973DE" background="../../bg.gif"><font SIZE="5"><b><div align="center"><center><table border="0" width="85%" cellspacing="0" cellpadding="0" bgcolor="#FFFFFF"> <tr> </b><td><div align="center"><center><table border="0" width="615" cellpadding="0" cellspacing="0" height="20"> </table> </center></div><font FACE="Times New Roman" SIZE="4"><b><p ALIGN="CENTER"></b></font><font color="#3973DE" FACE="Times New Roman" SIZE="4">3.2 AppWizard</font><font SIZE="4" color="#3973DE">所创建的文件</font><font FACE="Times New Roman" SIZE="3"></p> <p ALIGN="JUSTIFY"></font><span style="font-size: 9pt"> AppWizard在读者指定的C:\Hello目录下创建了许多文件,这些文件包含了框架程序的所有的类、全局变量的声明和定义。初学者面对这一大堆文件可能会不知所措。现在我们把各个文件的作用及对应的类介绍一下。<br> 根据可选项,AppWizard所创建的文件会略有不同。标准的AppWizard文件包括:</span></p> <ul> <li><p ALIGN="JUSTIFY"><span style="font-size: 9pt">工作区文件、项目文件和make文件</span></p> </li> <li><p ALIGN="JUSTIFY"><span style="font-size: 9pt">应用程序源文件和头文件</span></p> </li> <li><p ALIGN="JUSTIFY"><span style="font-size: 9pt">资源文件</span></p> </li> <li><p ALIGN="JUSTIFY"><span style="font-size: 9pt">预编译头文件</span></p> </li> <li><p ALIGN="JUSTIFY"><span style="font-size: 9pt">按可选项增加的AppWizard文件</span></p> </li> </ul> <p><b> </p> <p ALIGN="JUSTIFY"></b><span style="font-size: 9pt"><font color="#3973DE">3.2.1 工作区、项目文件和make文件</font></span></p> <p ALIGN="JUSTIFY"><span style="font-size: 9pt">Hello.dsw<br> 这是MFC自动生成的工作区文件,它包含当前工作区所包含的项目的信息。</span></p> <p ALIGN="JUSTIFY"><span style="font-size: 9pt">Hello.dsp<br> 这是MFC生成的项目文件,它包含当前项目的设置、所包含的文件等信息。</span></p> <p ALIGN="JUSTIFY"><span style="font-size: 9pt">Hello.MAK<br> 这是MFC项目的项目文件,这也是与NMAKE兼容的文件。如果选择了External make文件可选项,则可人工对它编辑,但不能利用Visual C++许多项目编辑特性。</span></p> <p ALIGN="JUSTIFY"><span style="font-size: 9pt">Hello.CLW<br> 这个文件含有被ClassWizard用来编辑现有类或增加新类的信息。ClassWizard还用这个文件来保存创建和编辑消息映射和对话框数据所需的信息,或是创建虚拟成员函数所需的信息。</span></p> <b><p ALIGN="JUSTIFY"></b><span style="font-size: 9pt"><font color="#3973DE">3.2.2 应用程序源文件和头文件</font></span></p> <p ALIGN="JUSTIFY"><span style="font-size: 9pt"> 根据应用程序的类型—单文档、多文档或基于对话框的,AppWizard将创建下述应用程序源文件和头文件中的某些文件。在本例中,AppWizard生成了如下文件:</span></p> <p ALIGN="JUSTIFY"><span style="font-size: 9pt">Hello.h<br> 这是应用程序的主头文件,它含有所有全局符号和用于包含其它头文件的#include伪指令。</span></p> <p ALIGN="JUSTIFY"><span style="font-size: 9pt">Hello.CPP<br> 这个文件是应用程序的主源文件。它将创建CHelloApp类的一个对象(从CWinApp派生),并覆盖InitInstance成员函数。</span></p> <p ALIGN="JUSTIFY"><span style="font-size: 9pt">MainFrm.cpp,MainFrm.h<br> 这两个文件将从CFrameWnd(SDI应用程序)或CMDIFrameWnd(MDI应用程序)派生CMainFrame类。如果在AppWizard的Application Options页(6步中的第4步)中选择了对应的可选项的话,CMainFrame类将处理工具条按钮和状态条的创建。MAINFRM.CPP文件还含有MFC应用程序提供的默认工具条按钮的对象ID——叫做buttons数组。</span></p> <p ALIGN="JUSTIFY"><span style="font-size: 9pt">HelloDoc.cpp,HelloDoc.h<br> 这些文件从CDocument类派生并实现名为CHelloDoc的文档类,并含有用于初始化文档、串行化(保存和装入)文档和用于调试诊断的一些成员函数的框架。</span></p> <p ALIGN="JUSTIFY"><span style="font-size: 9pt">HelloView.cpp,HelloView.h<br> 这些文件派生并实现名为CHelloView的视类,用于显示和打印文档数据。CHelloView类是从CView或它的派生类派生出来的,含有绘制视和用于调试诊断的一些成员函数框架。</span></p> <b><p ALIGN="JUSTIFY"></b><span style="font-size: 9pt"><font color="#3973DE">3.2.3 资源文件</font></span></p> <p ALIGN="JUSTIFY"><span style="font-size: 9pt">AppWizard会创建一些与资源相关的文件。</span></p> <p ALIGN="JUSTIFY"><span style="font-size: 9pt">Hello.RC,RESOURCE.H,Hello.rc2<br> 这是项目的头文件及其资源文件。资源文件含有一般MFC应用程序的默认菜单定义和加速键表、字符串表。它还指定了缺省的About对话框和一个图标文件(RES\Hello. ICO)。资源文件了标准的MFC类的资源。如果指定了支持工具条,它还将指定工具条位图文件(RES\TOOLBAR.BMP)。Hello.rc2用于存放Visual Studio不可直接编辑的资源。</span></p> <b><p ALIGN="JUSTIFY"></b><span style="font-size: 9pt"><font color="#3973DE">3.2.4 预编译头文件:STDAFX.CPP,STDAFX.H</font></span></p> <p ALIGN="JUSTIFY"><span style="font-size: 9pt"> 这两个文件用于建立一个预编译的头文件Hello.PCH和一个预定义的类型文件STDAFX.OBJ。由于MFC体系结构非常大,包含许多头文件,如果每次都编译的话比较费时。因此,我们把常用的MFC头文件都放在stdafx.h中,如afxwin.h、afxext.h、afxdisp.h、afxcmn.h等,然后让stdafx.cpp包含这个stdafx.h文件。这样,由于编译器可以识别哪些文件已经编译过,所以stdafx.cpp就只编译一次,并生成所谓的预编译头文件(因为它存放的是头文件编译后的信息,故名)。如果读者以后在编程时不想让有些MFC头文件每次都被编译,也可以将它加入到stdafx.h中。采用预编译头文件可以加速编译过程。</span><b></p> </b><div align="center"><center><table border="0" cellpadding="0" cellspacing="0" width="615"> <tr> <td><span style="font-size: 9pt"><a href="chap3_1.htm">上一页</a></span></td> <td><p align="right"><span style="font-size: 9pt"><a href="chap3_3.htm">下一页</a></span></td> </tr> </table> </center></div><font SIZE="5"><hr noshade color="#3973DE" size="1"> </td> <b> </tr></table></center></div></b></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -