1 / 17
文档名称:

网络编程 第4章.ppt

格式:ppt   页数:17
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

网络编程 第4章.ppt

上传人:中国课件站 2011/10/11 文件大小:0 KB

下载得到文件列表

网络编程 第4章.ppt

文档介绍

文档介绍:第4章 MFC编程
MFC概述
MFC是一个编程框架
MFC应用程序框架,简称MFC框架,是由MFC(Microsoft Foundation Class Library)中的各种类结合起来构成的。MFC框架从总体上定义了应用程序的轮廓,并提供了用户接口的标准实现方法,程序员只须通过预定义的接口把具体应用程序特有的东西填入这个轮廓,就能建立Windows下的应用程序。
Microsoft Visual C++提供了相应的工具来完成这个工作:用应用程序向导(AppWizard)可以生成应用程序的骨架文件(代码和资源等);用资源编辑器可以直观地设计用户接口;用类向导(ClassWizard)可以将代码添加到骨架文件;用编译器可以通过类库实现应用程序特定的逻辑。MFC实现了对应用程序概念的封装,把类、类的继承、动态约束、类的关系和相互作用等封装起来。

(1)对Win32应用程序编程接口的封装
MFC将每一个Windows对象封装成一个相应的C++ 对象。
(2)对应用程序概念的封装
使用SDK编写Windows应用程序时,总要定义窗口过程,注册Windows Class,创建窗口等等,要做许多处理工作。MFC封装了这些处理,替程序员完成这些工作。
(3)对COM/OLE特性的封装
OLE(对象的链接与嵌入)(组件对象模型)之上,由于支持OLE的应用程序必须实现一系列的接口(Interface),因而相当繁琐。MFC的OLE类封装了OLE API大量的复杂工作,提供了实现OLE的更高级接口。
(4)对ODBC功能的封装
MFC封装了ODBC API的大量的复杂的工作,形成了与ODBC之间接口的高级C++类,提供了一种方便的访问数据库的编程模式。

MFC将众多类的共同特性抽象出来,设计出一些基类,作为实现其他类的基础。有两个类十分重要。
CObject是MFC的根类,绝大多数MFC类是从它派生的。CObject 实现了一些重要的特性,包括动态类信息、动态创建、对象序列化、对程序调试的支持等等。所有从CObject派生的类都将具备或者可以具备CObject所拥有的特性。
mdTarget类,mdTarget类通过进一步封装一些属性和方法,提供了消息处理的架构。在MFC中,mdTarget类派生的。
针对每种不同的对象,MFC都设计了一组类对这些对象进行封装,每一组类都有一个基类,从基类派生出众多更具体的类。这些对象包括以下种类:窗口对象,基类是CWnd;应用程序对象,基类是CwinThread;文档对象,基类是Cdocument,等等。程序员可以结合自己的实际,从适当的MFC类中派生出自己的类,实现特定的功能,达到自己的编程目的。

MFC建立了消息映射机制,以一种富有效率、便于使用的手段解决消息处理函数的动态约束问题。
这样,通过虚拟函数和消息映射,MFC类提供了丰富的编程接口。程序员在继承基类的同时,可以把自己实现的虚拟函数和消息处理函数嵌入MFC的编程框架。MFC编程框架将在适当的时候、适当的地方来调用程序的代码。

MFC实现了对应用程序概念的封装,实现了类、类的继承、动态约束、类的关系和相互作用的封装。这样封装的结果是为程序员提供了一套开发模板,罗列在应用程序向导AppWizard中。针对不同的应用和目的,程序员可以采用不同的模板。例如,SDI单文档应用程序模板,MDI多文档应用程序模板,规则DLL应用程序模板,扩展DLL应用程序模板,OLE/ActiveX应用程序模板,等等。这些模板都采用以文档-视为中心的思想,每个模板都包含一组特定的类。
典型的MDI应用程序的构成
用AppWizard产生一个没有OLE等支持的MDI工程,工程名叫T。AppWizard会自动创建一系列文件,构成一个应用程序骨架。这些文件分为四类:头文件(.h),实现文件(.cpp),资源文件(.rc),模块定义文件(.def),等。

,箭头表示信息流向。
一个MDI应用程序的构成