网络编程实用教程第二版_第4篇 章MFC编程.pptVIP

网络编程实用教程第二版_第4篇 章MFC编程.ppt

  1. 1、本文档共54页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
网络编程实用教程第二版_第4篇 章MFC编程.ppt

第4章 MFC编程;MFC应用程序框架,简称MFC框架,是由MFC(Microsoft Foundation Class Library)中的各种类结合起来构成的。MFC框架从总体上定义了应用程序的轮廓,并提供了用户接口的标准实现方法,程序员只须通过预定义的接口把具体应用程序特有的东西填入这个轮廓,就能建立Windows下的应用程序。 ;Microsoft Visual C++提供了相应的工具来完成这个工作:用应用程序向导(AppWizard)可以生成应用程序的骨架文件(代码和资源等);用资源编辑器可以直观地设计用户接口;用类向导(ClassWizard)可以将代码添加到骨架文件;用编译器可以通过类库实现应用程序特定的逻辑。MFC实现了对应用程序概念的封装,把类、类的继承、动态约束、类的关系和相互作用等封装起来。 ;1.MFC类库封装的内容 (1) 对Win32应用程序编程接口的封装 MFC将每一个Windows对象封装成一个相应的C++ 对象。 (2) 对应用程序概念的封装 使用SDK编写Windows应用程序时,总要定义窗口过程,注册Windows Class,创建窗口等等,要做许多处理工作。MFC封装了这些处理,替程序员完成这些工作。 ;(3) 对COM/OLE特性的封装 OLE(对象的链接与嵌入)建立在COM(组件对象模型)之上,由于支持OLE的应用程序必须实现一系列的接口(Interface),因而相当繁琐。MFC的OLE类封装了OLE API大量的复杂工作,提供了实现OLE的更高级接口。 (4) 对ODBC功能的封装 MFC封装了ODBC API的大量的复杂的工作,形成了与ODBC之间接口的高级C++类,提供了一种方便的访问数据库的编程模式。 ;3.虚拟函数和动态约束 MFC建立了消息映射机制,以一种富有效率、便于使用的手段解决消息处理函数的动态约束问题。 这样,通过虚拟函数和消息映射,MFC类提供了丰富的编程接口。程序员在继承基类的同时,可以把自己实现的虚拟函数和消息处理函数嵌入MFC的编程框架。MFC编程框架将在适当的时候、适当的地方来调用程序的代码。 ;4.MFC的开发模板 MFC实现了对应用程序概念的封装,实现了类、类的继承、动态约束、类的关系和相互作用的封装。这样封装的结果是为程序员提供了一套开发模板,罗列在应用程序向导AppWizard中。针对不同的应用和目的,程序员可以采用不同的模板???例如,SDI单文档应用程序模板,MDI多文档应用程序模板,规则DLL应用程序模板,扩展DLL应用程序模板,OLE/ActiveX应用程序模板,等等。这些模板都采用以文档-视为中心的思想,每个模板都包含一组特定的类。 ;总之,MFC封装了Win32 API,OLE API,ODBC API等底层函数的功能,并提供更高一层的接口,简化了Windows编程。同时,MFC支持对底层API的直接调用。这种简化体现在MFC提供了一个Windows应用程序开发模式:MFC框架完成对程序的控制,通过预定义或实现了许多事件和消息处理,来完成大部分编程任务。MFC框架处理大部分事件,不依赖程序员的代码;程序员的代码集中用来处理应用程序特定的事件。;用AppWizard产生一个没有OLE等支持的MDI工程,工程名叫T。AppWizard会自动创建一系列文件,构成一个应用程序骨架。这些文件分为四类:头文件(.h)、实现文件(.cpp)、资源文件(.rc)、模块定义文件(.def)。 1.构成应用程序的对象 图4.1解释了典型的MDI应用程序的结构,箭头表示信息流向。 ;图4.1 一个MDI应用程序的构成 ;(1) 应用程序类CTApp 应用程序类CTApp派生于CWinApp类。基于框架的应用程序必须有且只有一个应用程序对象,它负责应用程序的初始化、运行和结束。;(2) 主边框窗口类CMainFrame 对于MDI应用程序,从CMDIFrameWnd类派生主边框窗口类,主边框窗口的客户子窗口(MDIClient)直接包含文档边框窗口。如果是SDI应用程序,从CFrameWnd类派生边框窗口类,边框窗口的客户子窗口(MDIClient)直接包含视窗口。 如果要支持工具条、状态栏,则派生的主边框窗口类还要添加CToolBar和CStatusBar类型的成员变量,并且要在一个OnCreate消息处理函数中初始化这两个控制窗口。 主边框窗口用来管理文档边框窗口、视窗口、工具条、菜单、加速键等,协调半模式状态(如上下文的帮助(SHIFT+F1模式)和打印预览)。 ;(3) 文档边框窗口CChildFrame 文档边框窗口类从CMDIChildWnd类派生,MDI应用程序使用文档边框窗口来包含视窗口。 (4)

文档评论(0)

youngyu0329 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档