mfc微软基础类库

mfc微软基础类库

ID:22583545

大小:531.95 KB

页数:46页

时间:2018-10-30

mfc微软基础类库_第1页
mfc微软基础类库_第2页
mfc微软基础类库_第3页
mfc微软基础类库_第4页
mfc微软基础类库_第5页
资源描述:

《mfc微软基础类库》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、微软基础类犀(英语:MicrosoftFoundationClasses,简称MFC)是一个微软公司提供的类库(classlibraries),以C++类的形式封装了WindowsAPI,并且包含一个应用程序框架,以减少应用程序开发人员的工作量。其中包含的类包含大量Windows句柄封装类和很多Windows的内建控件和纟II件的封装类。中文名微软基础类库外文名MicrosoftFoundationClasses简称MFC类型C/C++的阁形化界面语言幵发者微软特点效率损失低1定义2MFC和Win32编辑MFC(MicrosoftFoundationClasses)是微软基础类库的

2、简称,是微软公司实现的一个C++类库,主要封装丫大部分的windowsAPI函数,vc++是微软公司开发的C/C++的集成开发环境,所谓集成开发环境,就是说利用它你可以编辑,编译,调试,而不是使用多种工具轮换操作,灵活性较大。有时人们说vc呢也指它的内部编译器,集成开发环境必须有一个编译器内核,要不有什么用,例如DevC++其中一个编译器内核就是gcc。MFC除了是一个类库以外,还是一个框架,你应该试过,在vc++里新建一个MFC的工程,开发环境会自动帮你产生许多文件,同时它使用丫mfcxx.dll。xx是版木,它封装了mfc内核,所以你在你的代码看不到原木的SDK编程中的消息循环

3、等等东西,闵为MFC框架帮你封装好丫,这样你就可以专心的考虑你程序的逻辑,而不是这些毎次编程都要重复的东西,但是由于是通用框架,没有最好的针对性,当然也就丧失了一些灵活性和效率但是MFC的封装很浅,所以效率上损失不大。MFC和Win32编辑MFCObject和WindowsObject的关系MFC屮最重要的封装是对Win32API的封装,因此,理解WindowsObject和MFCObject(C++对象,一个C++类的实例)之间的关系是理解MFC的关键之一。所谓WindowsObject(Windows对象)是Win32下用句柄表示的Windows操作系统对象;所谓MFCObje

4、ct(MFC对象)是C++对象,是一个C++类的实例,这里(本书范围内)MFCObject是有特定含义的,指封漿WindowsObject的C++Object,并非指任意的C++Object。MFCObject和WindowsObject是不一样的,{H.两者紧密联系。以窗U对象为例:一个MFC窗U对象是一个C++CWnd类(或派生类)的实例,是程序直接创建的。在程序执行屮它随着窗LJ类构造函数的调用而中成,随着析构函数的调用而消失。而Windows窗LJ则是Windows系统的一个内部数据结构的实例,由一个“窗U句柄”标识,Windows系统创建它并给它分配系统资源。Window

5、s窗U在MFC窗U对象创建之后,由CWnd类的Create成员函数创建,“窗U句柄”保存在窗U对象的m_hWnd成员变量屮。Windows窗U可以被一个程序销毁,也可以被用户的动作销毁。MFC窗U对象和Windows窗U对象的关系如图2-1所示。其他的WindowsObject和对应的MFCObject也冇炎似的关系。下面,对MFCObject和WindowsObject作一个比较。有些论断对设备描述表(MFC类是CDC,句柄是HDC)可能不适用,但具体涉及到吋会指出。从数据结构上比较MFCObject是相应C++类的实例,这些类是MFC或者程序员定义的;WindowsObject

6、是Windows系统的lAl部结构,通过一个句柄来引用;MFC给这些类定义Y—个成员变量来保存MFCObject对应的WindowsObject的句柄。对于设备描述表CDC类,将保存两个HDC句柄。从层次上讲比较MFCObject是高层的,WindowsObject是低层的;MFCObject封装丫WindowsObject的大部分或全部功能,MFCObject的使用者不需耍直接应用WindowsObject的HANDLE(句柄)使用Win32API,代荇它的是引用相应的MFCObject的成员函数。从创建上比较MFCObject通过构造函数由程序直接创建;WindowsObjec

7、t由相应的SDK函数创建MFC屮,使用这些MFCObject,一般分两步:首先,创建一个MFCObject,或者在STACK中创建,或者在HEAP中创建,这时,MFCObject的句柄实例变量为空,或者说不是一个宥效的句柄。然后,调用MFCObject的成员函数创建相应的WindowsObject,MFC的句柄变量存储一个有效句柄。CDC(设备描述表类)的创建有所不同,在后面的2.3节会具体说明CDC及其派生类的创建和使用。当然,可以在MFCObject的构造函数屮创

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。