MFC类及派生关系

MFC:
1.是用来编写Windows应用程序的C++类集,包括:以层次结构组织、封装了大部分API函数
提供了图形环境下应用程序的框架、提供了创建应用程序的组件
2.提供了大量的基类供程序员根据不同的应用环境进行扩充
3.允许在编程过程中自定义和扩展应用程序中的类
4.较好的移植性、可移植于众多的平台
5.MFC还很好地保持了程序的向下兼容性

MFC类的组织结构
根类:CObject
MFC中多数类和用户自定义子类的根类,是抽象基类。它提供了许多编程所需的公共操作。比如:
对象的建立、对象的删除、串行化支持、运行时信息、对象诊断输出。

应用程序体系结构类:应用程序和线程支持类、命令相关类、文档类、文档模板类、视类(体系结构)、框架窗口(体系结构)。

窗口、对话框和控件类:框架窗口类(窗口)、视类(窗口)、对话框类、控件条类。(主要运用于用户编写交互程序)

绘图和打印类:输出(设备相关)类绘图工具类

数组、列表、映射类:数组类、列表类、映射类

文件和数据库类:文件I/O类、DAO类、ODBC类

Internet和网络工作类:ISAPI类、Windows Socket类、Win32 Internet类

OLE类:OLE容器类、OLE服务器类、OLE拖放和数据传输类、OLE普通对话框类、OLE动画类、OLE控件类、
活动文档类、其他文档类

调试和异常类:调试支持类、异常类


应用程序体系结构类

1.命令相关类:CCmdTarget类
该类是CObject的子类,它是MFC库中所有具有消息映射属性的基类。消息映射规定了当以对象接受到消息命令时,应调用哪一个函数对该消息进行处理。

2.窗口应用程序类:CWinApp类
每个应用程序有且只有之一应用程序性对象,在运行程序中该对象与其他对象相互协调、该对象从
CWinApp类中派生出来。CWinApp类封装了初始化、运行、终止应用程序的代码

3.文档/视类 :CDodument Cview
文档对象有文档模板对象创建,管理应用程序的数据。视对象表示一个窗口的客户区,显示文档数据并
允许用户与之交互。CDodument Cview

4.线程基类:CWinThread类
所有线程的基类,可直接使用,CWinApp类就是从CWinThread类中派生出来的。


可视对象类

1.窗口类:CWnd类
Cwnd类提供了MFC中所有窗口类的基本功能,是CCmdTarget类的子类。
创建窗口要分两步进行:1.引入构造函数,构造一个CWnd对象;2.调用Create建立Windows窗口,并将它连到CWnd对象上。

2.视类:CView类
该类表示框架窗口的客户区和显示文档数据并接收输入的客户区,其派生类主要0有如下几种:
CScrollView:具有滚动功能的视类的基类
CFormView:其布局在对话资源中定义的滚动视
CEditView:具有文本编辑、查找、替换和滚动功能的类

3.菜单类:CMenu类
该类是CObject类的子类,用于管理菜单。它是一个Windows HMenu的封装,提供了与窗口有关的菜单资源建立、修改、跟踪及删除的成员函数。

4.对话框类:CDialog类
由于对话框是一个特殊的窗口,所以该类是从CWnd类中派生出来。对话框子层次结构包括通用对话框类CDialog以及支持文件选择、颜色选择、字体选择、打印、替换文本的公共对话框子类。

5.控件类
控件子层次结构包括若干类,使用这些类可建立静态文本、命令按钮、位图按钮、列表框、组合框、滚动条、编辑框等。这些直观控件为 Windows应用程序提供了各种输入和显示界面。

6.控件条类:CControlBar类
控件条子层次结构为工具条、状态条、对话条和分割窗口建立模型。该类是CToolBar、CStatusBar、
CDialogBar的基类,负责管理工具条、状态条、对话条的一些成员函数。控件条指的是链接在主窗口框架的顶部或底部的小窗口。

7.绘画对象类:CGdiObject类
图形绘画对象子层次结构以CGdiObject类为根类,可用于建立绘画对象模型。如画笔、刷子、字体、位图、调色板等。

8.设备描述表类:CDC类
该类及子类支持设备描述表对象,是CObject的子类。CDC类是一个较大的类,包括许多成员函数,如映射函数、绘画工具函数、区域函数等,通过CDC对象的成员函数可以完成所有的绘画工作。


通用类
此类提供了许多通用服务,例如文件I/O、诊断和异常处理等。此外哈包括如数组和列表等存放数据集的类

1.文件类:CFile类和CArchive类
用以编写输入输出处理函数。
2.异常类:CException类
是所有异常情况的基类。不能直接建立CException对象 ,只能建立派生类的对象,用派生类来捕获指定的异常情况。
3.模板收集类
这些类可以将多种对象存放到数组、列表和映射中,但这些收集类是模板,他们的参数确定了存放在集合中的对象类型。

OLE类
对象连接与嵌入子层次结构为支持OLE提供了9个类。
普通类:COleDocument、COleItem、COleExxeption
客户类:COleClientDoc、COleClientItem
服务器类:COleServer、COleTemplate、COleServerDoc、COleServerItem

ODBC数据库类
开放数据库连接子层次结构提供了一些类来支持ODBC特征,即通过这些类可开发数据库应用程序来访问多个数据库文件。

 

posted @ 2017-05-21 11:48  gd_沐辰  阅读(1233)  评论(0)    收藏  举报