>MFC (Microsoft Foundation Class Library)中的各种类结合起来构成了一个应用程序框架,它的目的就是让程序员在此基础上来建立Windows下的应用程序,这是一种相对SDK来说更为简单的方法 。因为总体上,MFC框架定义了应用程序的轮廓,并提供了用户接口的标准实现方法,程序员所要做的就是通过预定义的接口把具体应用程序特有的东西填入这个轮廓 。Microsoft Visual C++提供了相应的工具来完成这个工作:AppWizard可以用来生成初步的框架文件(代码和资源等);资源编辑器用于帮助直观地设计用户接口;ClassWizard用来协助添加代码到框架文件;最后,编译,则通过类库实现了应用程序特定的逻辑 。
封装
构成MFC框架的是MFC类库 。MFC类库是C++类库 。这些类或者封装了Win32应用程序编程接口,或者封装了应用程序的概念,或者封装了OLE特性,或者封装了ODBC和DAO数据访问的功能,等等,分述如下 。
(1)对Win32应用程序编程接口的封装
用一个C++ Object来包装一个Windows Object 。例如:class CWnd是一个C++ window object,它把Windows window(HWND)和Windows window有关的API函数封装在C++ window object的成员函数内 , 后者的成员变量m_hWnd就是前者的窗口句柄 。
(2)对应用程序概念的封装
使用SDK编写Windows应用程序时,总要定义窗口过程,登记Windows Class,创建窗口,等等 。MFC把许多类似的处理封装起来,替程序员完成这些工作 。另外,MFC提出了以文档-视图为中心的编程模式 , MFC类库封装了对它的支持 。文档是用户操作的数据对象,视图是数据操作的窗口,用户通过它处理、查看数据 。
(3)对COM/OLE特性的封装
OLE建立在COM模型之上,由于支持OLE的应用程序必须实现一系列的接口(Interface),因而相当繁琐 。MFC的OLE类封装了OLE API大量的复杂工作,这些类提供了实现OLE的更高级接口 。
(4)对ODBC功能的封装
以少量的能提供与ODBC之间更高级接口的C++类,封装了ODBC API的大量的复杂的工作,提供了一种数据库编程模式 。
继承
首先,MFC抽象出众多类的共同特性,设计出一些基类作为实现其他类的基础 。这些类中,最重要的类是CObject和CCmdTarget 。CObject是MFC的根类,绝大多数MFC类是其派生的,包括CCmdTarget 。CObject 实现了一些重要的特性,包括动态类信息、动态创建、对象序列化、对程序调试的支持,等等 。所有从CObject派生的类都将具备或者可以具备CObject所拥有的特性 。CCmdTarget通过封装一些属性和方法,提供了消息处理的架构 。MFC中 , 任何可以处理消息的类都从CCmdTarget派生 。
【MFC是什么东东】针对每种不同的对象 , MFC都设计了一组类对这些对象进行封装,每一组类都有一个基类 , 从基类派生出众多更具体的类 。这些对象包括以下种类:窗口对象,基类是CWnd;应用程序对象,基类是CwinThread;文档对象,基类是Cdocument,等等 。
- 为啥这种塑料袋不建议装肉食
- 违章停车扣分吗罚多少钱3分200
- 南韩丝面料容易起球吗 南韩丝面料的优缺点
- 管道如何和法兰垂直连接 管道法兰的一些基本选择是什么
- 自制西梅干西梅汁
- 食在广州味在顺德还是味在潮汕 广东化州十大特色美食
- 口碑两极化的影视剧 星球大战的外传有哪些
- 10公里和10千米是有很大区别
- 负面情绪多的人怎么调整 如何远离每天都是负面情绪的人
- 《水调歌头·明月几时有》的全诗
