小牛电子书 > 其他电子书 > VC语言6.0程序设计从入门到精通 >

第8章

VC语言6.0程序设计从入门到精通-第8章

小说: VC语言6.0程序设计从入门到精通 字数: 每页3500字

按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!




按钮返回到如图 2…5 所示的对话框。  

     不改变默认选择,单击“Next ”按钮,进入下一步。  

     (6 )弹出“MFC AppWizard…Step 5 of 6 ”对话框,如图 2…8 所示。  



                                                                       



                         图 2…8    “MFC AppWizard…Step 5 of 6 ”对话框  



     这里有 3 项内容需要设置。  

    “What style of project would you like?  ”项用于设置工程的生成方式。  

    “Would you like to generate source file ments? ”项用于设置是否为生成的源代码添加 

必要的注释说明。由于注释说明有助于对应用程序源代码的学习和理解,因此一般选择“Yes , 

Please ”项。  

    “How would you like to use the MFC library? ”项用于生成 MFC 类。选择“As a shared DLL ” 

项,所有 MFC 的类存放在动态链接库中(静态库方式),因此应用程序会小一些,但是发布 

该应用程序可执行文件时必需随同提供必要的动态链接库;选择“As a static linked library ” 

项时,应用程序所用到的 MFC 类都编译进了可执行文件之中,因此可执行文件比使用 DLL 

方式的要大,但可以单独发行。一般的,对于小的应用程序可以采用静态库方式,对于大的 



 ·10 ·  


…………………………………………………………Page 20……………………………………………………………

                                                                    第 2 章    应用程序基本框架  



应用程序一般采用动态链接库方式。  

     本例中使用默认设置,单击“Next ”按钮,继续下一步。  

     (7 )弹出 MFC AppWizard 最后一个对话框,如图 2…9 所示。  

     在对话框上部的列表框内,可以看到 MFC AppWizard 将要产生的 4 个类名称:一个视图 

类(CHelloMFCView )、一个应用类(CHelloMFCApp )、一个主框架窗口类(CMainFrame ) 

和一个文档类(CHelloMFCDoc )。通过对话框下面的几个编辑框,可以修改默认的类名、类 

的头文件名和实现文件名。对于视图类,还可以修改其基类名称,默认的基类是 CView,其 

他可选的基类有 CEditView、CFormView、CHtmlView、CListView、CRichEditView、CScrollView 

和 CTreeView 。  



                                                                        



                          图 2…9    “MFC AppWizard…Step 6 of 6 ”对话框  



     不改变这些名称,使用默认设置,单击“Finish ”按钮。  

     (8 )弹出“New Project Information ”对话框,如图 2…10 所示。  



                                                                        



                           图 2…10    “New Project Information ”对话框  



                                                                                      ·11 ·  


…………………………………………………………Page 21……………………………………………………………

Visual C++ 6。0 程序设计从入门到精通  



    在对话框中列出了所建工程的一些基本信息,包括应用程序类型(单文档)、要创建的 

类及所在文件、应用程序的一些特性(是否支持工具条、状态栏)等。  

    确认信息后,单击“OK ”按钮,则可创建一个工程,即一个应用程序的框架。  

    (9 )生成程序后,在项目工作区中将自动打开 HelloMFC。dsw  项目工作区文件,窗口标 

题将显示为打开的项目名 HelloMFC 。这样即生成了一个可执行的应用程序框架。  

    在菜单中依次选择“Build|pile ”菜单(或按快捷键 F7 )编译该程序。编译完后选择 

 Build|Execute  HelloMFC。exe ”菜单命令(或按快捷键 Ctrl+F5 )运行该程序。也可以直接按 

“ 

组合键 Ctrl+F5,系统提示是否编译,选择“Yes ”,IDE 将自动编译连接并运行 HelloMFC。exe 

程序。结果如图 2…11 所示。  



                                                         



                   图 2…11    MFC  自动生成的应用程序框架运行结果  



2。1。3    Visual C++工程文件的组成  



    在用 AppWizard 创建的工程中包含了框架程序所有的类、全局变量的声明和定义。如果 

用 Windows 资源管理器查看 AppWizard 工具自动创建的工程目录,可以发现该目录下会生成 

十几个文件和两个目录,其中 res  目录用于存放工程的资源文件,Debug  目录用于存放编译、 

连接时产生的中间文件。  

    在  Visual  C++ 中,一个工程文件可以产生两种不同版本的可执行程序:Debug              版本和 

Release 版本。其中 Debug 版本中包含用于调试的信息和代码,而 Release 版本中由于不包含 

调试信息,所以不能进行调试,但其最终产生的文件更小。  

    根据选项设置的不同,AppWizard 所创建的文件会略有不同 。标准的 AppWizard 文件包 

括下面 5 个部分:  

    o  工作区文件和项目文件;  

    o  应用程序源文件和头文件;  

    o  资源文件;  

    o  预编译头文件。  

   AppWizard  所创建的文件可以在指定的工程路径下找到,每一种文件都有自己明确的作 



 ·12 ·  


…………………………………………………………Page 22……………………………………………………………

                                              第 2 章    应用程序基本框架  



用,下面将分别介绍这些文件的作用。  



   1.工作区文件和项目文件  



   工程区文件和项目文件主要是用于保存和更新工作区和项目信息,以及相关的类信息 

等,主要包括下面几个文件。  

   o  HelloMFC。dsw :这是 MFC  自动生成的工作区文件,它包含当前工作区中的项目信息。  

   o  HelloMFC。dsp :这是 MFC  生成的项目文件,它包含当前项目的设置、所包含的文件 

     等信息。  

   o  HelloMFC。clw :这个文件包含 ClassWizard 中用来编辑的现有类或增加新类的信息。 

     ClassWizard 还用这个文件来保存创建和编辑消息映射和对话框数据所需的信息,或是 

     创建虚拟成员函数所需的信息。  



   2 .应用程序源文件和头文件  



   根据应用程序的类型—单文档、多文档或基于对话框,AppWizard  将创建下述应用程 

序源文件和头文件中的某些文件,这些文件是工程的主体,负责主框架、文档、视图和相关 

操作的具体实现,主要包括下面几个方面。  

   o  HelloMFC。h :这是应用程序的主头文件,它包含所有全局符号和用于包含其他头文件 

     的#include 伪指令。  

   o  HelloMFC。cpp :这个文件是应用程序的主源文件。它将创建 CHelloApp 类的一个对象 

     (从CWinApp 派生),并覆盖 InitInstance 成员函数。  

   o  MainFrm。cpp 、MainFrm。h : 这 两 个 文 件 将 从 CFrameWnd (SDI 应 用 程 序 ) 或 

     CMDIFrameWnd(MDI 应用程序)派生 CMainFrame 类。如果在 AppWizard 的Application  

     Options  页(AppWizard6 步中的第  4 步)中选择了对应的可选项的话,CMainFrame 

     类将处理工具条按钮和状态条的创建。MainFrame。cpp 文件中还包含 MFC 应用程序提 

     供的默认工具条按钮的对象 ID—buttons 数组。  

   o  HelloMFCDoc。cpp 、HelloMFCDoc。h :这两个文件从  CDocument 类派生并实现名为 

     CHelloMFCDoc  的文档类,并含有用于初始化文档、串行化(保存和装入)文档和用 

     于调试诊断的一些成员函数的框架。  

   o  HelloMFCView。cpp 、HelloMFCView。h :这些文件派生并实现名为 CHelloMFCView  的 

     视类,用于显示和打印文档数据。CHelloMFCView  类是从  CView  或它的派生类派生 

     出来的,含有绘制视图和用于调试诊断的一些成员函数框架。  



   3 .资源文件预编译头文件  



   基于 MFC  的 Windows 应用程序一般都少不了应用程序资源的支持,AppWizard 会创建 

一些与资源相关的文件,同时,与 MFC 应用程序相关的预编译头文件也会被创建。  

   o  HelloMFC。rc 、Resource。h :这是项目的头文件及其资源文件。资源文件含有一般 MFC 

     应用程序的默认菜单定义和加速键表、字符串表,还指定了默认的 About 对话框和一 

     个图标文件(resHelloMFC。ico )。资源文件是标准的 MFC 类的资源,如果指定了支持 

     工具条,它还将指定工具条位图文件(restoolbar。bmp )。  



                                                           ·13 ·  


…………………………………………………………Page 23……………………………………………………………

Visual C++ 6。0 程序设计从入门到精通  



    o  stdafx。cpp、stdafx。h:这两个文件用于建立一个预编译的头文件 HelloMFC。pch 和一个 

     预定义的类型文件 stdafx。obj 。由于 MFC 体系结构非常大,包含许多头文件,如果每 

     次都编译的话比较费时,因此把常用的 MFC 头文件都放在 stdafx。h 中,如 afxwin。h、 

     afxext。h、afxdisp。h、afxcmn。h 等,然后让 stdafx。cpp 包含这个 stdafx。h 文件。这样,由 

     于编译器可以识别哪些文件已经编译过,所以  stdafx。cpp  就只编译一次,并生成所谓 

     的预编译头文件(因为它存放的是头文件编译后的信息 )。如果以后在编程时不想让有 

     些 MFC 头文件每次都被编译,也可以将它加入到 stdafx。h 中。采用预编译头文件可以 

     加速编译过程。  



2。2    程序的应用框架和运行过程  



    前面已经生成并运行了 HelloMFC 应用程序,并看到了运行结果,下面就开始介绍程序 

的运行过程。  



2。2。1    应用框架  



    先请读者不要混淆应用框架和前面说到的应用程序框架。应用程序框架是用于生成一般 

的应用程序所必须的各种面向对象的软件组件的集合,简单地说就是 MFC  程序运行所必须 

的部分代码的集合。应用框架则是  MFC            程序基于    Windows 系统运行的底层机制,如从 

WinMain() 函数入口,进入窗口消息循环,结

返回目录 上一页 下一页 回到顶部 赞(3) 踩(4)

你可能喜欢的