MFC基础类及其层次结构
在前一篇中, Gilbert总结了MFC是以类的形式封装了API函数, 使得Windows下的C语言程序设计,成为面向对象的MFC. MFC采用单一继承,从根类Cobject层层派生出绝大多数MFC中的类,其层次结构为下图所示.CObject根类派生的最重要的类组成一个应用程序结构(Application Architecture)的集合, 它是由CCmdTarget为基类派生出来的, 其层次为:
其中部分重要类的描述为:
派生类
功能描述
CCmdTarget
用于处理用户请求, 处理菜单或按钮等消息
CWinThread
代表应用程序内部的执行线程
CWinApp
应用程序的核心, 从CWinThread派生的类
CWnd
为所有的窗口类提供基本的功能,处理常见的系统消息
CView
用于显示数据并与文档对象进行交互
CFrameWnd
应用程序的主框架
CDocument
包含应用程序的数据集
在类的层次结构中,应用程序类CWinApp是一个基于MFC应用程序的最外层对象容器,它不仅拥有诸如实例句柄等需要被传送到WinMain()函数中去的参数,还包含了应用程序的主框架窗口,当主框架窗口被关闭时,应用程序也就跟着结束了。所以说必须为程序创建一个全局的应用程序对象。