MFC经常使用的类详细介绍

经常使用的MFC程序员

CRuntimeClass结构数据结构

CRuntimeClass结构中定义了类名对象所占存储空间的大小类的版本号等成员变量及动态建立对象派生关系判断等成员函数。每个从CObject类派生的类都有一个CRuntimeClass结构同它关联,以便完成在运行时获得对象的信息或基类的信息。框架

要使用CRuntimeClass结构,必须结合使用RUNTIME_CLASS()和其余有关运行时类型识别的MFC宏。函数

CObject测试

MFCCObject类为程序员提供了对象诊断、运行时类型标识和序列化等功能。spa

1       对象诊断:利用成员函数AssertValid进行对象有效性检查;利用成员函数Dump输出对象的数据成员的值,诊断信息以文本形式放入一个数据流中,用于调试器的输出窗口信息显示。(只能用于Debug版的应用程序)线程

2       运行时类型识别GetRuntimeClass根据对象的类返回一个相关联的指向CRuntimeClass结构的指针,它包含了一个类的运行信息;函数IsKindOf用于测试对象与给定类的关系。翻译

3       经过与Carchive相结合CObject类为其派生类提供了序列化功能。要建立一个支持序列化的派生类,必须将DECLARE_SERIAL宏添加到类定义中,IMPLEMENT_SERIAL添加到类的实现文件中。指针

CCmdTarget调试

CObject直接派生,全部能实行消息映射MFC类的基类。功能以下:

1消息发送:MFC应用程序为每一个CCmdTarget派生类建立一个称为消息映射表的静态数据结构,可将消息映射到对象所对应的消息处理函数上。

2设置光标:程序正在进行某种操做:BeginWaitCursor()将光标改成沙漏形状;操做完成:EndWaitCursor()将光标改回到以前的形状;处于等待状态时因为某些操做改变了光标形状后,RestoreWaitCursor()用于将光标还原为等待状态。

3支持自动化:CCmdTarget类支持程序经过COM接口进行交互操做,自动翻译COM接口的方法。方法是调用EnableAutomation()FromIDispatch()GetIDispatch()IsResultExpected()和 OnFinalRelease()

CWinThread

CCmdTarget派生,主要工做是建立和处理消息循环

CWinApp

CWinThread类派生,成员函数InitApplication()InitInstance()Run()

MFC应用程序中有且仅有一个CWinApp派生类的对象,表明程序运行的主线程,表明应用程序自己

CWnd

CCmdTarget类直接派生,是MFC中最基本的GUI对象。公共变量m_hWnd用于存放供API函数调用的窗口句柄。

CframeWnd

CWnd类派生而来,主要用来掌管一个窗口。其对象是一个框架窗口,包括边界、标题栏、菜单、最大化按钮、最小化按钮和一个激活的视图

其经常使用成员函数:

GetActiveDocument()获得当前文档的指针。

GetActiveView()获得当前视图的指针。

SetActiveView():激活一个视图。

GetTitle()获得框架窗口的标题。

SetTitle()设置框架窗口的标题。

SetMessageText()设置状态栏文本。

CDocument

CCmdTarget派生,做为用户文档的基类,表明了用户存储或打开一个文件。主要功能是把对数据的处理从对用户的界面处理中分离出来,同时提供一个与视图类交互的接口。

经常使用的成员函数有:

OnNewDocument()创建新文档。

OnOpenDocument()打开一个文档。

相关文章
相关标签/搜索