41MFC是一个编程框架 (3)对 COMOLE特性的封装 OLE(对象的链接与嵌入)建立在COM(组件对象模型) 之上,由于支持OLE的应用程序必须实现一系列的接口 ( Interface),因而相当繁琐。MFC的OLE类封装了OLE API大量的复杂工作,提供了实现OLE的更高级接口。 (4)对ODBC功能的封装 MFC封装了 ODBCAPI的大量的复杂的工作,形成了与 ODBC之间接口的高级C++类,提供了一种方便的访问数据 库的编程模式
(3) 对COM/OLE特性的封装 OLE(对象的链接与嵌入)建立在COM(组件对象模型) 之上,由于支持OLE的应用程序必须实现一系列的接口 (Interface),因而相当繁琐。MFC的OLE类封装了OLE API大量的复杂工作,提供了实现OLE的更高级接口。 (4) 对ODBC功能的封装 MFC封装了ODBC API的大量的复杂的工作,形成了与 ODBC之间接口的高级C++类,提供了一种方便的访问数据 库的编程模式。 4.1.1 MFC是一个编程框架
411MFC是一个编程框架 2.MFC类的继承关系P86 MFC将众多类的共同特性抽象出来,设计出一些基类, 作为实现其他类的基础。有两个类十分重要。 CObject是MFC的根类,绝大多数MFC类是从它派生 的。 CObject实现了一些重要的特性,包括动态类信息、动 态创建、对象序列化、对程序调试的支持等等。所有从 CObject派生的类都将具备或者可以具备 Cobject所拥有的特 性
2.MFC类的继承关系 P86 MFC将众多类的共同特性抽象出来,设计出一些基类, 作为实现其他类的基础。有两个类十分重要。 CObject是MFC的根类,绝大多数MFC类是从它派生 的。CObject 实现了一些重要的特性,包括动态类信息、动 态创建、对象序列化、对程序调试的支持等等。所有从 CObject派生的类都将具备或者可以具备CObject所拥有的特 性。 4.1.1 MFC是一个编程框架
41.1MFC是一个编程框架 另一个是 CCmdTarget类,它是从 CObject派生的。 CCmdTarget类通过进一步封装一些属性和方法,提供了消息处 理的架构。在MFC中,任何可以处理消息的类都是从 CCmdTarget类派生的 针对每种不同的对象,MFC都设计了一组类对这些对象进 行封装,每一组类都有一个基类,从基类派生出众多更具体的 类。这些对象包括以下种类:窗口对象,基类是Cwnd;应用 程序对象,基类是 Cwin thread;文档对象,基类是 Cdocument, 等等。程序员可以结合自己的实际,从适当的MFC类中派生出 自己的类,实现特定的功能,达到自己的编程目的
另 一 个 是 CCmdTarget 类 , 它是从 CObject 派 生 的 。 CCmdTarget类通过进一步封装一些属性和方法,提供了消息处 理的架构 。 在 MFC 中 , 任 何 可 以 处 理 消 息 的 类 都 是 从 CCmdTarget类派生的。 针对每种不同的对象,MFC都设计了一组类对这些对象进 行封装,每一组类都有一个基类,从基类派生出众多更具体的 类。这些对象包括以下种类:窗口对象,基类是CWnd;应用 程序对象,基类是CwinThread;文档对象,基类是Cdocument, 等等。程序员可以结合自己的实际,从适当的MFC类中派生出 自己的类,实现特定的功能,达到自己的编程目的。 4.1.1 MFC是一个编程框架
41.1MFC是一个编程框架 3.虚拟函数和动态约束P86 MFC建立了消息映射机制,以一种富有效率、便于使 用的手段解决消息处理函数的动态约束问题。 这样,通过虚拟函数和消息映射,MFC类提供了丰富 的编程接口。程序员在继承基类的同时,可以把自己实现的 虚拟函数和消息处理函数嵌入MFC的编程框架。MFC编程 框架将在适当的时候、适当的地方来调用程序的代码
3.虚拟函数和动态约束 P86 MFC建立了消息映射机制,以一种富有效率、便于使 用的手段解决消息处理函数的动态约束问题。 这样,通过虚拟函数和消息映射,MFC类提供了丰富 的编程接口。程序员在继承基类的同时,可以把自己实现的 虚拟函数和消息处理函数嵌入MFC的编程框架。MFC编程 框架将在适当的时候、适当的地方来调用程序的代码。 4.1.1 MFC是一个编程框架
41.1MFC是一个编程框架 4.MFC的开发模板P87 MFC实现了对应用程序概念的封装,实现了类、类的继 承、动态约束、类的关系和相互作用的封装。这样封装的结 果是为程序员提供了一套开发模板,罗列在应用程序向导 App wizard中。针对不同的应用和目的,程序员可以采用不 同的模板。例如,SD咩文档应用程序模板,MD多文档应用 程序模板,规则DLL应用程序模板,扩展DL应用程序模板, OLE/ ctive应用程序模板,等等。这些模板都采用以文档 视图为中心的思想,每个模板都包含一组特定的类
4.MFC的开发模板 P87 MFC实现了对应用程序概念的封装,实现了类、类的继 承、动态约束、类的关系和相互作用的封装。这样封装的结 果是为程序员提供了一套开发模板,罗列在应用程序向导 AppWizard中。针对不同的应用和目的,程序员可以采用不 同的模板。例如,SDI单文档应用程序模板,MDI多文档应用 程序模板,规则DLL应用程序模板,扩展DLL应用程序模板, OLE/ActiveX应用程序模板,等等。这些模板都采用以文档- 视图为中心的思想,每个模板都包含一组特定的类。 4.1.1 MFC是一个编程框架