文档库 最新最全的文档下载
当前位置:文档库 › 第4章 创建应用程序框架

第4章 创建应用程序框架

版权所有复制必究

本章内容

●应用程序框架

●应用程序向导

●应用程序向导生成的文件

●ClassWizard类向导

●程序调试

通过本章的学习我们可以真正利用Visual C++ 创建一个简单的MFC 应用程序。

何谓应用程序框架?

同一类型应用程序的结构大致相同,并有很多相同的源代码,因此可以通过一个应用程序框架AFX(Application FrameWorks)编写同一类型应用程序的通用源代码。

4.1 应用程序向导

●与其它可视化开发工具一样,Visual C++提供了

创建应用程序框架的向导AppWizard和相关的开发工具。

●在可视化开发环境下,生成一个应用程序要做

的工作主要包括编写源代码、添加资源和设置编译方式。向导实质上是一个源代码生成器,利用应用程序向导可以快速创建各种风格的应用程序框架,自动生成程序通用的源代码,这样大大减轻了手工编写代码的工作量。

●即使不非常熟悉Visual C++编程,也可以利用它

的应用程序向导一个简单的应用程序。

4.1.1 Visual C++中的向导类型

创建一个应用程序,首先要创建一个项目。项目用于管理组成应用程序的所有元素,并由它生成应用程序。Visual C++集成开发环境包含了创建各种类型应用程序的向导,执行File菜单中的New命令即可看到向导类型。

Visual C++集成开发环境中主要向导类型:

主要向导类型

●Datebase Project:创建数据库项目

●MFC ActiveX Control Wizard:创建基于MFC的ActiveX控件●MFC AppWizard[dll]:创建基于MFC的动态链接库

●MFC AppWizard[exe]:创建基于MFC的应用程序(最常用)●New Database Wizard:在SQL服务器上创建一个SQL Server数

据库

●Win32 Application:创建Win32应用程序,可不使用MFC,采

用SDK方法编程

●Win32 Console Application:创建DOS下的Win32控制台应用程

序,采用C++或C语言进行编程●Win32 Dynamic-link Library:创建Win32动态链接库,采用

SDK方法

●Win32 Static Library:创建Win32静态链接库,采用SDK方法

4.1.2 使用MFC AppWizard[exe]

引入应用程序向导的目的:

区别于DOS程序,即使一个简单的Windows程序,它也必须显示一个程序运行窗口,需要编写复杂的程序代码。而同一类型应用程序的框架窗口风格是相同的,如相同的菜单栏、工具栏、状态栏和用户区。并且,基本菜单命令的功能也是一样的,如相同的文件操作和编辑命令。所以,同一类型应用程序建立框架窗口的基本代码都是一样的,尽管有些参数不尽相同。为了避免程序员重复编写这些代码,一般的可视化软件开发工具都提供了创建Windows应用程序框架的向导。

MFC AppWizard[exe]的功能:

●MFC AppWizard[exe]是创建基于MFC的Windows应用程

序的向导。当利用MFC AppWizard[exe]创建一个项目时,它能够自动生成一个MFC应用程序的框架。

●即使不添加任何代码,当执行编译、链接命令后,Visual

C++ IDE 将生成一个Windows界面风格的应用程序。

●MFC应用程序框架将那些每个应用程序都共同需要使用

的代码封装起来,如完成默认的程序初始化功能、建立应用程序界面和处理基本的Windows消息,使程序员不必做这些重复的工作,把精力放在编写实质性的代码上。

●MFC AppWizard[exe]向导提供了一系列选项,程序员通

过选择不同的选项,可以创建不同类型和风格的MFC应用程序,并可定制不同的程序界面窗口。例如,单文档、多文档、基于对话框的程序,是否支持数据库操作、是否可以使用ActiveX控件以及是否具有联机帮助等。

例编写一个单文档应用程序Mysdi,程序运行后在程序视图窗口显示信息“这是一个单文档程序!”。

●在Visual C++中执行File|New命令,出现New对话框。

●确认New对话框的当前页面为Project,在左栏的

项目类型列表框中选择MFC AppWizard[exe]项,在Project Name框输入要创建项目的名称。在location栏中输入项目所在的目录,可单击右侧“…”浏览按钮来对默认的目录进行修改。向导将在该目录下存放项目的所有文件。单击OK按钮出现MFC AppWizard-Step1对话框。

●在MFC AppWizard-Step1对话框中选择应用程序

的类型。

MFC AppWizard[exe]创建应用程序的类型:

●Single document:单文档界面应用程序,程序运行后出现标准的Windows界面,它由框架(包括菜单栏、工具栏和状态栏)和用户区组成。并且程序运行后一次只能打开一个文档,如Windows 自带的记事本Notepad。

●Multiple documents:多文档界面应用程序,程序运行后出现标准的Windows界面,并且可以同时打开多个文档,如Word。

●Dialog based:基于对话框的应用程序,程序运行后首先出现一个对话框界面,如计算器Calculator。

在MFC AppWizard-Step 2 of 6选择应用程序所支持的数据库方式,包括以下选项:

●None:向导创建的应用程序不包括对数据库的操作功能,

但以后可以手工添加对数据库的操作代码(默认项)。

●Header files only:提供了最简单的数据库支持,仅在项目

的stdAfx.h文件中使用#include指令包含afxdb.h和afxdao.h两个用于定义数据库类的头文件,但并不生成与数据库相关的类,用户需要时可以自己生成。

●Database view without file support:包含了所有的数据库头

文件,并生成了相关的数据库类和视图类,但不支持文档的序列化,向导创建的应用程序的File主菜单中将不包含有关文件操作的菜单命令项。

●Database view with file support:包含了所有的数据库头文

件,生成了相关的数据库类和视图类,支持文档的序列化。

在MFC AppWizard-Step 3 of 6选择应用程序所支持的数据库方式复合文档类型,包括以下选项:

●None:应用程序不支持任何复合文档(默认项)。

●Container:应用程序作为复合文档容器,能容纳所嵌入

或链接的复合文档对象。

●Mini-server:微型复合文档服务器,应用程序可以创建和

管理复合文档对象,但对于它所创建的复合文档对象,集成应用程序可以嵌入,但不能链接。微型服务器不能作为一个单独的程序运行,而只能由集成应用程序来启动。

●Full-server:完全复合文档服务器,除了具备上面微型服

务器的功能外,应用程序支持链接式对象,并可作为一个单独的程序运行。

●Both container and server:应用程序既可作为一个复合文

档容器,又可作为一个可单独运行的复合文档服务器。

Docking toolbar :应用程序具有标准的工具栏(默认项)●Initial status bar :应用程序具有标准的状态栏(默认项)●Printing and print preview :应用程序支持打印和打印预览功能(默认项)

●Context-sensitive Help :应用程序具有上下文相关帮助功能●3D controls :应用程序界面具有三维外观(默认项)●Normal :应用程序采用传统风格的工具栏(默认项)●Internet Explorer ReBars :应用程序采用IE 风格的工具栏●How many files would you like on your recent file list :在File 主菜单可列出文档的最多个数。

●Advanced 按钮:进行更高一级的设置,如修改文件名或扩展名,调整程序用户界面窗口的样式(边框厚度和最小化、最大化、关闭按钮)。在MFC AppWizard-Step 4 of 6设置应用程序界面特征(工具栏和状态栏),包括以下选项:

在MFC AppWizard-Step 5 of 6设置项目的风格,包括以下选项:

●MFC Standard:应用程序采用MFC标准风格(默认项)

●Windows Explorer:应用程序采用Windows资源管理器

风格

●选择向导是否为源代码生成注释

●设置MFC库与应用程序的链接方式:

(1)As a shared DLL:采用共享动态链接库的方式(默认

项),即在程序运行时才调用MFC库。采用此方式可减少应用程序的代码长度。

(2)As a statically linked library:采用静态链接库的方式,

即在编译时把MFC库与应用程序相链接。采用此方式能提高运行速度,且不用考虑程序最终运行环境中是否安装了MFC库。

相关文档