第08章 MFC编程基础.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《第08章 MFC编程基础.ppt》由会员分享,可在线阅读,更多相关《第08章 MFC编程基础.ppt(83页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第8章章MFC编程基础编程基础第第8章章MFC编程基础编程基础第第8章章MFC编程基础编程基础第第8章章MFC编程基础编程基础8.1 MFC类库简介类库简介8.2 使用使用AppWizard开发开发MFC应用程序应用程序8.3 MFC应用程序框架与应用程序框架与Win32程序的关联程序的关联8.4 MFC应用程序的消息映射应用程序的消息映射第第8章章MFC编程基础编程基础8.1MFC类库简介类库简介下面是下面是MFC类库的类定义文件类库的类定义文件afxwin.h中的类说明部分源中的类说明部分源代码,从中可以了解代码,从中可以了解MFC类库中的类以及它们的层次关系。类库中的类以及它们的层次关
2、系。代码如下:代码如下:classCSize;classCPoint;classCRect;/CObject/Cexception/CSimpleExceptionclassCResourceException;/WinresourcefailureexceptionclassCUserException;/MessageBoxalertandstopoperationclassCGdiObject;/CDCdrawingtoolclassCPen;/apen/HPENwrapperclassCBrush;/abrush/HBRUSHwrapperclassCFont;/afont/HFONT
3、wrapper第第8章章MFC编程基础编程基础classCBitmap;/abitmap/HBITMAPwrapperclassCPalette;/apalette/HPALLETEwrapperclassCRgn;/aregion/HRGNwrapperclassCDC;/aDisplayContext/HDCwrapperclassCClientDC;/CDCforclientofwindowclassCWindowDC;/CDCforentirewindowclassCPaintDC;/embeddableBeginPaintstructhelperclassCMenu;/amenu/H
4、MENUwrapperclassCCmdTarget;/atargetforusercommandsclassCWnd;/awindow/HWNDwrapperclassCDialog;/adialog/standardwindowscontrolsclassCStatic;/StaticcontrolclassCButton;/ButtoncontrolclassCListBox;/ListBoxcontrolclassCCheckListBox;/speciallistboxwithchecksclassCComboBox;/ComboBoxcontrolclassCEdit;/Editc
5、ontrolclassCScrollBar;/ScrollBarcontrol第第8章章MFC编程基础编程基础/framewindowsclassCFrameWnd;/standardSDIframeclassCMDIFrameWnd;/standardMDIframeclassCMDIChildWnd;/standardMDIchildclassCMiniFrameWnd;/half-heightcaptionframewnd/viewsonadocumentclassCView;/aviewonadocumentclassCScrollView;/ascrollingviewclassCW
6、inThread;/threadbaseclassclassCWinApp;/applicationbaseclassclassCDocTemplate;/templatefordocumentcreationclassCSingleDocTemplate;/SDIsupportclassCMultiDocTemplate;/MDIsupportclassCDocument;/maindocumentabstraction/HelperclassesclassCCmdUI;/Menu/buttonenablingclassCDataExchange;/Dataexchangeandvalida
7、tioncontextclassCCommandLineInfo;/CommandLineparsinghelperclassCDocManager;/CDocTemplatemanagerobject第第8章章MFC编程基础编程基础MFC类库简介类库简介第第8章章MFC编程基础编程基础MFC类库简介类库简介1根类根类CObjectMicrosoft基本类库中的大多数类都是由基本类库中的大多数类都是由CObject类派生而来。类派生而来。CObject对所有由它派生出的类提供了有用的基本服务。对所有由它派生出的类提供了有用的基本服务。2MFC应用结构类应用结构类MFC应用结构类用于构造一个应用
8、的框架,对大多数应用提应用结构类用于构造一个应用的框架,对大多数应用提供了通用功能。可以在框架中填写对于应用特定的功能。供了通用功能。可以在框架中填写对于应用特定的功能。AppWizard可可以以产产生生几几种种类类型型的的应应用用,所所有有这这些些都都以以不不同同的的方式使用应用框架。方式使用应用框架。(1)应用程序和线程支持类应用程序和线程支持类(2)命令例程类命令例程类(3)文档类文档类(4)文档模板类文档模板类第第8章章MFC编程基础编程基础MFC类库简介类库简介3窗口、对话框和控件类窗口、对话框和控件类(1)CWnd类类(2)框架窗口类框架窗口类(3)对话框类对话框类(4)视图类视图
9、类(5)控件类控件类(6)控件条类控件条类4菜单类菜单类5绘图和打印类绘图和打印类6简单的数据类型类简单的数据类型类7数组、列表和映射类数组、列表和映射类8文件和数据库类文件和数据库类(1)文件文件I/O类类(2)DAO类类(3)ODBC类类9Internet和和网网络络类类:Internet和和网网络络类类允允许许与与其其他他使使用用ISAPI的计算机或一个的计算机或一个WindowsSocket交换信息。交换信息。10OLE类类11调试和异常类调试和异常类第第8章章MFC编程基础编程基础第第8章章MFC编程基础编程基础8.2使用使用AppWizard开发开发MFC应用程序应用程序第第8章章
10、MFC编程基础编程基础8.2.1生成生成MFC应用程序框架应用程序框架例例8-1使用使用MFCAppWizard生成一个简单的生成一个简单的MFC应用程序。应用程序。建立建立MFC应用程序框架一般可以通过以下步骤来实现:应用程序框架一般可以通过以下步骤来实现:(1)启动启动MFCAppWizard:定义项目名称。定义项目名称。在在File菜单下选择菜单下选择New,出现出现New对话框。对话框。应用程序向导为程序员提供了一个基于应用程序向导为程序员提供了一个基于MFC的的应用程序框架应用程序框架,程序员可以在此,程序员可以在此基础上添加实现特定功能的代码即可基础上添加实现特定功能的代码即可VC
11、6.0是在是在32位操作系统下位操作系统下选择选择MFCAppWizardexe,在,在Projectname文本输入框中输入新建文本输入框中输入新建的项目名如的项目名如Mymfc。第第8章章MFC编程基础编程基础(2)MFCAppWizard-Step1对话框:选择应用程序的类对话框:选择应用程序的类型和语言。型和语言。单单文档应用程序文档应用程序多文档应用程序多文档应用程序基于对话框的应用程序基于对话框的应用程序第第8章章MFC编程基础编程基础(3)MFCAppWizard-Step2of6对话框:设置数据库选项。对话框:设置数据库选项。在该对话框中可以设置应用程序所包含的如下特点:在该对
12、话框中可以设置应用程序所包含的如下特点:None:默认选项,不使用数据库特征;默认选项,不使用数据库特征;Headerfilesonly:标题文件;标题文件;Databaseviewwithoutfilesupport:数数据据库库查查看看不不使用文件支持;使用文件支持;Databaseviewwithfilesupport:数数据据库库查查看看使使用用文件支持。文件支持。选选择择默默认认选选项项None后后,单单击击Next按按钮钮,将将弹弹出出MFCAppWizard-Step3of6对话框对话框第第8章章MFC编程基础编程基础在在应用程序中忽略所有的数据库支持应用程序中忽略所有的数据库支
13、持包括定义基本数据库类包括定义基本数据库类的头文件,但不创建对的头文件,但不创建对应特定表的数据库类或应特定表的数据库类或视图类视图类创建对应指定表的一个创建对应指定表的一个数据库类和一个视图类,数据库类和一个视图类,不附加标准文件支持不附加标准文件支持创建对应指定表的一个创建对应指定表的一个数据库类和一个视图类,数据库类和一个视图类,并附加标准文件支持并附加标准文件支持默认选项,不使用数据库特征默认选项,不使用数据库特征标题文件标题文件数据库查看不使用文件支持数据库查看不使用文件支持数据库查看使用文件支持数据库查看使用文件支持第第8章章MFC编程基础编程基础(4)MFCAppWizard-S
14、tep3of6对话框:设置对话框:设置OLE选项。选项。因为这里生成的应用程序不使用因为这里生成的应用程序不使用OLE,所以选择默认所以选择默认选项选项None,单击单击Next按钮。按钮。第第8章章MFC编程基础编程基础设置应用程序支持设置应用程序支持的复合文档类型,的复合文档类型,使程序员可以向应使程序员可以向应用程序中加入用程序中加入OLE(ObjectLinkingandEmbedding,对象象连接与嵌入接与嵌入)支持支持设置设置OLE选项选项OLE可以用来创建复合文档,可以用来创建复合文档,复合文档包含了创建于不同源复合文档包含了创建于不同源应用程序,有着不同类型的数应用程序,有着
15、不同类型的数据,因此它可以把文字、声音、据,因此它可以把文字、声音、图像、表格等组合在一起。图像、表格等组合在一起。第第8章章MFC编程基础编程基础(5)MFCAppWizard-Step4of6对话框设置应用程序外观。对话框设置应用程序外观。可以设置应用程序的外观可以设置应用程序的外观可以可以设置工具栏的风格设置工具栏的风格第第8章章MFC编程基础编程基础设置应用程序的外观设置应用程序的外观工具栏工具栏初始状态栏初始状态栏打印和打印预览支持打印和打印预览支持上下文相关帮助上下文相关帮助使用使用3D控件控件是否使用消息是否使用消息API是否使用是否使用Windows套接字套接字设置工具栏外观设
16、置工具栏外观普通的工具栏普通的工具栏具有具有InternetExplorer风格的工具栏风格的工具栏设置需要显示的设置需要显示的最近使用的文件最近使用的文件个数个数第第8章章MFC编程基础编程基础(6)MFCAppWizard-Step5of6对话框:设置应用程序对话框:设置应用程序的风格。的风格。可以设置应用程序的风格可以设置应用程序的风格可以设置是否在应用程序向导生成的代码中加注注释。可以设置是否在应用程序向导生成的代码中加注注释。可以设置使用可以设置使用MFC库文件的方式库文件的方式选选择择默默认认选选项项后后,将将弹弹出出MFCAppWizard-Step6of6对话框,如图所示。对话
17、框,如图所示。第第8章章MFC编程基础编程基础设置是否在应用设置是否在应用程序向导生成的程序向导生成的代码中加注释代码中加注释标准的标准的MFC应用程序应用程序在向导生成的代码中加注释在向导生成的代码中加注释具有具有WindowsExplorer风格的应用程序风格的应用程序在向导生成的代码中不加注释在向导生成的代码中不加注释设置使用设置使用MFC库库文件的方式文件的方式以以共享动态链接库的方式共享动态链接库的方式以以静态链接库的方式静态链接库的方式使用动态链接库可以在应用程序运使用动态链接库可以在应用程序运行的时候链接起来,而不是在编译行的时候链接起来,而不是在编译的时候就链接,使生成的应用程
18、序的时候就链接,使生成的应用程序.exe文件比较小文件比较小设置应用程序的风格设置应用程序的风格第第8章章MFC编程基础编程基础(7)MFCAppWizard-Step6of6:修改类的信息。修改类的信息。可以设置向导生成的文件名和类名。可以设置向导生成的文件名和类名。在在设设置置好好文文件件名名和和类类名名后后,弹弹出出新新建建工工程程信信息息对对话话框框,列出了关于新建立的应用程序项目文件的相关信息。列出了关于新建立的应用程序项目文件的相关信息。第第8章章MFC编程基础编程基础设置向导生成设置向导生成的的文件名和类名文件名和类名(一般不改变)(一般不改变)第第8章章MFC编程基础编程基础第
19、第8章章MFC编程基础编程基础(8)单单击击OK按按钮钮,应应用用程程序序向向导导所所有有的的工工作作就就全全部部完完成成了了,向导已经为用户生成了一个可执行的应用程序框架向导已经为用户生成了一个可执行的应用程序框架第第8章章MFC编程基础编程基础(9)编编译译运运行行。MFCAppWizard已已经经生生成成了了一一个个基基本本的的应应用用程序。程序。第第8章章MFC编程基础编程基础MFC应用程序的开发流程应用程序的开发流程第第8章章MFC编程基础编程基础8.2.2查看查看AppWizard生成的信息生成的信息1.生成的生成的C+类类建立的是一个基于文档建立的是一个基于文档/视图结构、单文档
20、、无视图结构、单文档、无OLE、无无数据库选项的最基本的程序框架所需的类,所以数据库选项的最基本的程序框架所需的类,所以MFCAppWizard为为Mymfc程序生成了四个类。程序生成了四个类。CMymfcApp:应用程序类应用程序类,负责程序的初始化、运行,负责程序的初始化、运行以及结束处理;以及结束处理;CMainFrame:主窗口类主窗口类,负责主窗口的创建、显示和,负责主窗口的创建、显示和搜索用户命令以及消息派发;搜索用户命令以及消息派发;CMymfcDoc:文档类文档类,负责应用程序文档的装载和维,负责应用程序文档的装载和维护,文档是应用程序需要保存的任何内容;护,文档是应用程序需要
21、保存的任何内容;CMymfcView:视图类视图类,负责为文档提供一个或几个视,负责为文档提供一个或几个视图,视图的作用是为显示和修改文档提供人机界面。图,视图的作用是为显示和修改文档提供人机界面。第第8章章MFC编程基础编程基础查看查看AppWizard生成的信息生成的信息基类及其声明和定义文件如表所示。基类及其声明和定义文件如表所示。第第8章章MFC编程基础编程基础查看查看AppWizard生成的信息生成的信息2.生成的文件生成的文件AppWizard创建项目时,在指定的创建项目时,在指定的Mymfc目录下创建了目录下创建了许多文件,文件包含了框架程序的所有的类、全局变量的许多文件,文件包
22、含了框架程序的所有的类、全局变量的声明和定义。声明和定义。第第8章章MFC编程基础编程基础生成的文件生成的文件1)工作区、项目和类信息文件工作区、项目和类信息文件AppWizard生成的应用程序框架是通过项目工作区进行管生成的应用程序框架是通过项目工作区进行管理。所以,无论选择什么类型的应用程序,理。所以,无论选择什么类型的应用程序,AppWizard都都要为应用程序生成相应的要为应用程序生成相应的工作区工作区、项目项目和和类类信息文件。信息文件。第第8章章MFC编程基础编程基础2)应用程序头文件和源文件应用程序头文件和源文件根根据据应应用用程程序序的的类类型型单单文文档档、多多文文档档或或基
23、基于于对对话话框框,AppWizard将将自自动动创创建建一一些些应应用用程程序序源源文文件件和和头头文文件件,这这些些文文件件分分别别是是应应用用程程序序类类、对对话话窗窗口口类类等等的的声声明明文文件件和和类实现文件。类实现文件。第第8章章MFC编程基础编程基础3)资源文件资源文件主要资源文件:主要资源文件:Mymfc.rc和和resource.h。资资源源文文件件含含有有一一般般MFC应应用用程程序序的的默默认认菜菜单单定定义义和和加加速键表、字符串表速键表、字符串表指指 定定 了了 默默 认认 的的 About对对 话话 框框 和和 一一 个个 图图 标标 文文 件件 resMymfc
24、.ico包含标准的包含标准的MFC类的资源类的资源若若指指定定了了支支持持工工具具栏栏,将将指指定定工工具具栏栏位位图图文文件件restoolbar.bmp资资源源文文件件:Mymfc.rc2,用用于于存存放放VisualStudio不不可可编编辑的资源辑的资源第第8章章MFC编程基础编程基础4)StdAfx.cpp和和StdAfx.h预预编编译译头头文文件件,用用于于建建立立一一个个预预编编译译的的头头文文件件Mymfc.pch和和一个预定义的类型文件一个预定义的类型文件StdAfx.obj将将常常用用的的MFC头头文文件件都都放放在在StdAfx.h中中,如如afxwin.h、afxext
25、.h、afxdisp.h、afxcmn.h等等让让StdAfx.cpp包含包含StdAfx.hStdAfx.cpp只需编译一次,并能生成预编译头文件只需编译一次,并能生成预编译头文件若若今今后后在在编编程程时时不不想想让让有有些些MFC头头文文件件每每次次都都被被编编译译,则可将其加入则可将其加入StdAfx.h采用预编译头文件可以加速编译过程采用预编译头文件可以加速编译过程第第8章章MFC编程基础编程基础第第8章章MFC编程基础编程基础8.2.3浏览项目信息与添加代码浏览项目信息与添加代码1浏览项目信息浏览项目信息FileView:生成的生成的Mymfc应用程序在项目工作区窗应用程序在项目工
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第08章 MFC编程基础 08 MFC 编程 基础
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内