第8章MFC基础知识
1 第8章 MFC基础知识
8MFC概述 MFC是用来编写 Windows应用程序的 C++类集,该类集以层次结构组织起来, 其中封装了大部分 Windows API函数和 Windows控件,它所包含的功能涉及到整 个 Windows操作系统 MFC不仅为用户提供了 Windows图形 环境下应用程序的框架,而且还提供了 创建应用程序的组件
2 8.1 MFC概述 MFC是用来编写Windows应用程序的 C++类集,该类集以层次结构组织起来, 其中封装了大部分Windows API函数和 Windows控件,它所包含的功能涉及到整 个Windows操作系统。 MFC不仅为用户提供了 Windows图形 环境下应用程序的框架,而且还提供了 创建应用程序的组件
以层次结构组织 是用来编 写 Windows 封装了大部分API函数 应用程序提供了图形环境下应用程序的框架 的C++类集 提供了创建应用程序的组件 提供了大量的基类供程序员根据不同的应用环境进行扩充 MFC 允许在编程过程中自定义和扩展应用程序中的类 较好的移植性,可移植于众多的平台 MFC还很好地保持了程序的向下兼容性」
3 MFC还很好地保持了程序的向下兼容性 是用来编 写Windows 应用程序 的C++类集 以层次结构组织 封装了大部分API函数 提供了图形环境下应用程序的框架 提供了创建应用程序的组件 提供了大量的基类供程序员根据不同的应用环境进行扩充 允许在编程过程中自定义和扩展应用程序中的类 较好的移植性,可移植于众多的平台 MFC
应用程序中非图形部分的类 MFC10 MS C/C++7. 0 GUI功能的 Windows相关类 MFC2.0&MVC++1.0→在1.0基础上增添了一些应用程序 MFC2.0&MSV++1.5添加了0DBC类,并且还支持OE的性能 MC3.0&VC+2.0+增添了对开发32位应用程序的支持 MFC4.0包含了在Wn95和N中大多数新的公共控件和DAO、MAPI 增强了对数据库应用程序的支持 MFC4.21H利用DA0类通过编程语言来访问、操纵和管理数据库 对 Internet也提供了强有力的支持
4 MFC1.0 & MS C/C++7.0 应用程序中非图形部分的类 GUI功能的Windows相关类 MFC2.0 & MS VC++1.0 在1.0基础上增添了一些应用程序 MFC3.0 & VC++2.0 增添了对开发32位应用程序的支持 MFC2.0 & MS VC++1.5 添加了ODBC类,并且还支持OLE的性能 MFC4.0 包含了在Win95和N中大多数新的公共控件和DAO、MAPI 增强了对数据库应用程序的支持 利用DAO类通过编程语言来访问、操纵和管理数据库 对Internet也提供了强有力的支持 MFC4.21
MFC5.0增强了对数据库和 Internet的支持,可使用 oDBc类和DBC驱动程序来访问提供ODBC支持的数 据库中的数据;可以通过数据访问对象(DAO)类通 过编程语言来访问和操纵数据库中的数据并管理数 据库、数据库对象与结构。这些支持主要包括以下 几个部分: win32 Internet ap使 i Internet成为应用程序的一部分并 简化了对 Internet服务的访问 Activex文档可以显示在整个Web浏览器或OLE容器的 整个客户窗口中 Activex控件可以用在 Internet和桌面应用程序中可以 使用ChttpServer、ChttPfilter、ChttpserverconText'和 ChttPfilter contExt类来建立动态DLL,以便为Web页面 增添功能
5 MFC5.0增强了对数据库和Internet的支持,可使用 ODBC类和ODBC驱动程序来访问提供ODBC支持的数 据库中的数据;可以通过数据访问对象(DAO)类通 过编程语言来访问和操纵数据库中的数据并管理数 据库、数据库对象与结构。这些支持主要包括以下 几个部分: •Win32 Internet API使Internet成为应用程序的一部分并 简化了对Internet服务的访问 •Activex文档可以显示在整个Web浏览器或OLE容器的 整个客户窗口中 • Activex控件可以用在Internet和桌面应用程序中可以 使用CHttpServer、CHttpFilter、ChttpServerContext和 CHttpFilterContext类来建立动态DLL,以便为Web页面 增添功能
MFC60中引进了新的功能: 提出了活动文档容器来管理不同类型的文档, 并通过引入类 ColeDocObjectItem来加以实现。 同时在应用程序向导中也加入了对这一新特 性的支持。 加入了对动态HM技术的支持,通过引入 个新类 CHtmlview,使程序员开发的应用程序 可以浏览并显示用动态HTM技术开发的HTML 文档。类 CHtmlview中封装了许多浏览器的特 征,包括浏览器在历史记录、书签和安全等 方面的特征都被封装进了类 CHtmlview 扩展了对公共控件的支持,如时间控键、IP 地址控键和日期控键等
6 MFC6.0中引进了新的功能: • 提出了活动文档容器来管理不同类型的文档, 并通过引入类COleDocObjectItem来加以实现。 同时在应用程序向导中也加入了对这一新特 性的支持。 • 加入了对动态HTML技术的支持,通过引入一 个新类CHtmlView,使程序员开发的应用程序 可以浏览并显示用动态HTML技术开发的HTML 文档。类CHtmlView中封装了许多浏览器的特 征,包括浏览器在历史记录、书签和安全等 方面的特征都被封装进了类CHtmlView。 • 扩展了对公共控件的支持,如时间控键、IP 地址控键和日期控键等
82MFC类的组织结构及主要 的类的简介
7 8.2 MFC类的组织结构及主要 的类的简介
821MFC类的组织结构 MFC库中的类按层次关系划分类: 1)根类: Cobject (2)应用程序体系结构类 (3)窗口、对话框和控件类 4)绘图和打印类 (5)简单数据类型类 (6)数组、列表和映射类 (7)文件和数据库类 (8) Internet和网络工作类 (9)OLE类 (10)调试和异常类
8 8.2.1 MFC类的组织结构 MFC库中的类按层次关系划分类: (1)根类:CObject (2)应用程序体系结构类 (3)窗口、对话框和控件类 (4)绘图和打印类 (5)简单数据类型类 (6)数组、列表和映射类 (7)文件和数据库类 (8)Internet和网络工作类 (9)OLE类 (10)调试和异常类
822根类-C0 bject 对象的建立 MFC中多数类和用户自定 对象的删除 义子类的根类,是抽象 基类。它提供了许多编串行化支持 程所需的公共操作。 绘图和输出(设备相关)类 运行时信息 打印类绘图工具类 对象诊断输出 应用程序和线程支持类 命令相关类 应用程序体 文档类 系结构类 文档模板类 简单数据类型类 视类(体系结构 框架窗口(体系结构) 窗口、对话 框架窗口类(窗口) 视类(窗口) 数组类 框和控件类对话框类 数组、列表和映射类1列表类 控件条类 映射类
9 8.2.2 根类--CObject MFC中多数类和用户自定 义子类的根类,是抽象 基类。它提供了许多编 程所需的公共操作。 对象的建立 对象的删除 运行时信息 对象诊断输出 串行化支持 应用程序和线程支持类 命令相关类 文档类 文档模板类 视类(体系结构) 框架窗口(体系结构) 应用程序体 系结构类 窗口、对话 框和控件类 框架窗口类(窗口) 视类(窗口) 对话框类 控件条类 绘图和 打印类 输出(设备相关)类 绘图工具类 简单数据类型类 数组、列表和映射类 数组类 列表类 映射类
OLE容器类 OLE服务器类 OLE拖放和数据传输类 E类OE普通对话框类 OLE动画类 OLE控件类 调试和异常类厂调试支持类 活动文档类 异常类 其他文档类 文件I/0类 文件和数据库类日DA0类 ODBC类 ISAPI类 Internet和网络工作类 Windows socket类 Win32 Internet类
10 文件和数据库类 文件I/O类 DAO类 ODBC类 Internet和网络工作类 ISAPI类 Windows Socket类 Win32 Internet类 OLE类 OLE容器类 OLE服务器类 OLE拖放和数据传输类 OLE普通对话框类 OLE动画类 OLE动画类 OLE控件类 活动文档类 其他文档类 调试和异常类 调试支持类 异常类