1 / 25
文档名称:

跟我学Visual_C++6.0--Visual_C++6.0中的MFC.pdf

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

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

分享

预览

跟我学Visual_C++6.0--Visual_C++6.0中的MFC.pdf

上传人:陈晓翠 2012/3/20 文件大小:0 KB

下载得到文件列表

跟我学Visual_C++6.0--Visual_C++6.0中的MFC.pdf

文档介绍

文档介绍:跟我学 Visual C++


MFC 是微软基本类库的简称,类库就是 C++类的集。MFC 封装了为 Windows 操作系统编
写的应用程序的函数,是一种称为应用程序框架的软件组成部分。其实质就是标准化的功能模
块集。本章将详细讲述 MFC。

32
Visual C++ 中的 MFC 03
◎什么是 MFC
◎ MFC 原理
◎ MFC 的层次设计
◎ MFC 的文档/视图类结构
◎ MFC 的消息和命令










什么是 M FC

MFC 是微软基本类库的缩写形式。MFC 提供了面向对象的框架,程序开发人员可以使用
MFC 创建 Windows 应同程序。MFC 是按照 C++类的层次形式组织在一起的,高层类提供一般
功能,低层类实现更具体的行为,低层类从高层类中派生而来,因而继承了高层类的行为。
MFC 可以处理很多 Windows 相关的常见任务。例如,程序员不必重复开发消息处理循环,
MFC 可以实现这一循环,并提供简单易用的成员函数,如 OnPaint()。
此外,MFC 还提供了一个文档/视图的应用程序开发模型。这是将应用程序数据与用户界
面元素相分离的一种应用编程方法。文档/视图模型的优势非常强大,绝大多数应用程序都可以
使用这一模型。
M FC 的设计原理

应用程序的开发框架被设计成尽可能的合理化开发过程以及简化困难或繁琐的编程任
务。MFC 简化了大部分 Windows API 的使用。MFC 采用了 API 的一些功能,提供了一套对
程序员更友好的 C++类。它向开发人员提供了更简单的编程界面,将 Windows API 的一些特性
隐藏起来。
33
跟我学 Visual C++
MFC 由很多 C++的类组成。其中有些类(如 CWnd 或 CWinThread)是整个框架中大部分内
容的基础。这些类都封装了基本功能,如大多数的 Windows 应用程序都需要的打开窗口的功能。
还有一些更加专门化的类(如 CSplitterWnd)是从这些基类派生而来的。派生类继承了其父类或
基类的所有特性,并增加了一些特有的功能。
作为 Windows 开发人员,利用 MFC 类层次中的扩展特性,程序员可以创建自定义类,以
执行更专门化的任务。
M FC 的优势和层次设计

MFC 面向对象设计将 Windows API 中的相关部分组合到 C++类或对象中。使编程人员可
以不必记忆大量的 API 函数调用,这为程序设计人员提供了很大的方便。
MFC 的优势
MFC 在开发中具有很多优势。主要集中在以下几个方面。
1. 丰富的特性
MFC 提供的特性非常多。主要包括以下内容:
¾ 文档/视图体系结构
¾ 多文档界面
¾ 打印以及打印预览支持
¾ 使用并创建 ActiveX 控件
¾ ODBC 以及 Access 数据库支持
¾ (TCP/IP)编程支持
¾ Windows 95 / Windows98 / Windows NT 常用控件支持
¾ 多线程支持
2. 可扩展体系
由于 MFC 是使用 C++语言开发的,所以程序员可以从 MFC 派生自定义的类,可以节省
大量的时间和精力。MFC 的设计使程序员能够根据需要轻松地扩展程序框架。MFC 还创建了
一些特殊的窗口类型,如 CSplitterWnd,实现 Explore 中所使用的拆分窗口风格;还包括一些
用于界面元素的类,如按钮类和列表框类等。
如果需要一个特殊用途的窗口,可以从 CWnd 类派生一个自定义的类;如果需要一个新风
格的界面按钮,就需要从 CButton 类派生一个自定义的按钮类。
34
Visual C++ 中的 MFC 03
3. 层次设计
前面已经从高层次了解了 MFC,现在再回到基本点,看一看框架中的对象层次。MFC 的
对象层次非常类似于目录结构的组织形式。MFC 的大多数对象都是从根对象 CObject 派生而来
的。在此层次内部,相似类型的对象被组合到相同类别中了。MFC 大约包括 100 多种类。
下面将介绍一些最常用的类。
文件服务类
MFC 提供了常规的文件服务类。这些类是从 Cobject 类直接派生而来的。这里的文件不仅
仅指的是保存在磁盘上的文件,还包括包含 Web 请求、内存映射文件以及 TCP/IP 套结字。表
3-1 列出了