文档详情

《面向对象程序设计:C++语言描述(原书第2版)--4》面向对象语言-C语言.pdf

发布:2018-01-06约8.13万字共90页下载文档
文本预览下载声明
下载 第9章 MFC中的面向对象编程 微软的操作系统家族主要包括 Wi n d o w s 9 8和Wi n d o w s N T,两者都是Win32 system的具体实现产品(3 2代 表3 2位操作系统,其地址长度是 3 2位的)。编程设计人员可通过 Wi n 3 2 A P I (Application Programmer I n t e r f a c e ) 与Wi n 3 2操作系统进行交互。Wi n 3 2 A P I包含了大量的C函数,这些函数可分为若干组,如图形处 理、网络通信、数据库操作和进程间通信等。许多 Wi n 3 2 A P I函数都很复杂,例如,用A P I函数来创建窗口 Wi n 3 2 A P I庞大而复杂,因此微软提供了一套 C + +类库,将 Wi n 3 2 A P I 的C 函数包装起来,这就是微软 基本类库 (Microsoft Foundation Class ,M F C )。封装在M F C 中的方法最终调用 Wi n 3 2 A P I 中的C 函数。与 直接调用 Wi n 3 2 A P I 函数相比,使用 M F C编写Wi n 3 2程序更为简单。总之, Wi n 3 2 A P I是一个包含了几千个 C 函数的集合,而 M F C则是一个拥有几百个C + +类的类库。 有许多产品对 M F C提供了有效支持,其中的一个就是微软自己的 Visual C++ (此后简称V C + + ), V C + + 是一套集成开发环境 (I D E ),其中包含了编译器、连接器、代码生成器、查找和浏览工具、工程 管理工具、调试器及其他一些程序开发工具。 V C + + 中的代码生成器对编程很有帮助,例如,利用代码 生成器,我们不必编写任何代码,就可以得到一个最小的 Wi n d o w s 程序。正如 M F C 向程序员隐藏了 Wi n 3 2 A P I 的许多细节一样,像 V C + +这样的 I D E也向程序员隐藏了 M F C 的许多细节。 M F C程序员可充分 利用I D E (如V C + + )的各种工具,高效而方便地设计各种应用程序。 本章简单地介绍如何使用 M F C进行面向对象编程。由于 M F C相当庞大和复杂,我们主要将重点放 在与面向对象编程相关的两个问题上: • 永久保存:保存某个对象的状态(数据成员)的机制。 • 接口注册:服务程序向客户程序提供服务的机制。 M F C对这两种机制均提供了强有力的支持,我们将提供两个示例程序来说明这一点,这两个例子 都是用V C + +创建的,并充分利用了 V C + + 的代码生成器来生成代码。 9.1 用MFC 进行Windows程序设计 基于窗口的现代操作系统(如微软的 Wi n 3 2和U N I X 下的M o t i f )都采用事件驱动编程模型,采用在 为了便于参考,补充材料一节列出了部分与 M F C有关的缩写。 第9章 MFC 中的面向对象编程使用361 下载 该模型设计的应用程序通常都有一个图形用户接口( G U I ),而用户则通过这个接口和程序进行交互, 如用鼠标点击应用程序的窗口或菜单选项。用户产生的动作,如鼠标点击就叫一个 事件,操作系统对 各种事件进行排队,然后将其分派给事件处理函数 ,事件处理函数是一个回调函数,它由用户编写但却 由操作系统调用。事件分为两种:一种是用户产生的事件;另一种是操作系统产生的事件,如当系统 关机时,每一个运行中的程序都会收到这个消息。一般每个应用程序都有一个 事件循环,应用程序在 该循环内处理操作系统发给它的各种事件。程序清单 9 - 1所示代码是事件循环的一个例子。 程序清单9-1 t h e A p p 的主事件循环 当一个事件驱动型的程序开始执行时,一般先进入一个初始化阶段来设置图形特性(如字体和颜 色)、读取命令行参数、打开输入输出文件等。一旦初始化过程结束,应用程序进入事件循环,等待操 作系统通知是否发生了事件。当事件发生时,操作系统将事件分发给应
显示全部
相似文档