MFC是什么? 微软基础类库(MFC: Microsoft Foundation class)是微软为 Windows程序 员提供的一个面向对象的 Windows编程接 口API,大部分以C++形式封装。 MFC库中的类代表了窗口、对话框、设 备上下文、通用GDI对象,例如画刷和笔、 控件以及其它标准 Windows项。这些类对 于它们封装的 Windows中的结构提供了 个习惯的C++成员函数接口
MFC是什么? 微软基础类库(MFC:Microsoft Foundation Class)是微软为Windows程序 员提供的一个面向对象的Windows编程接 口API,大部分以C++形式封装。 MFC库中的类代表了窗口、对话框、设 备上下文、通用GDI对象,例如画刷和笔、 控件以及其它标准Windows项。这些类对 于它们封装的Windows中的结构提供了一 个习惯的C++成员函数接口
为什么使用MFC? 首先,MFC提供了一个标准化的结构,这样开发人员不 必从头设计创建和管理一个标准 Windows应用程序所需 的程序,而是“站在巨人肩膀上”,从一个比较高的起 点编程,故节省了大量的时间; ■其次,它提供了大量的代码,指导用户编程时实现某些 croso 开发 Windows程序的经验,并可以将这些经验融入到你 自己开发的应用程序中去 对用户来说,用MFC开发的最终应用程序具有标准的、 熟悉的 windows界面,这样的应用程序易学易用; 另外,新的应用程序还能立即支持所有标准 Windows特 性,而且是用普通的、萌确定文的形式
为什么使用MFC? ◼ 首先,MFC提供了一个标准化的结构,这样开发人员不 必从头设计创建和管理一个标准Windows应用程序所需 的程序,而是“站在巨人肩膀上”,从一个比较高的起 点编程,故节省了大量的时间; ◼ 其次,它提供了大量的代码,指导用户编程时实现某些 技术和功能。MFC库充分利用了Microsoft开发人员多年 开发Windows程序的经验,并可以将这些经验融入到你 自己开发的应用程序中去。 ◼ 对用户来说,用MFC开发的最终应用程序具有标准的、 熟悉的Windows界面,这样的应用程序易学易用; ◼ 另外,新的应用程序还能立即支持所有标准Windows特 性,而且是用普通的、明确定义的形式
MFC的特性 ■封装 ■继承 ■虚函数与多态
MFC的特性 ◼ 封装 ◼ 继承 ◼ 虚函数与多态
封装 对Win32应用程序编程接口的封装 用一个C++ object来包装一个 Windows object. 对应用程序概念的封装 MFC把许多基本处理封装起来,替程序员完成这些工作 MFC提出了以文档-视图为中心的编程模式,MFC类库封 装了对它的支持 对COM/OLE特性的封装 MFC的OLE类封装了 OLE API大量的复杂工作,这些类 提供了实现OLE的更高级接口。尤其是 Interface接口 对ODBC功能的封装 以少量的能提供与ODBC之间更高级接口的C++类,封 装了 ODBC API的大量的复杂的工作,提供了一种数据 库编程模式
封装 ◼ 对Win32应用程序编程接口的封装 用一个C++ Object来包装一个Windows Object。 ◼ 对应用程序概念的封装 MFC把许多基本处理封装起来,替程序员完成这些工作 MFC提出了以文档-视图为中心的编程模式,MFC类库封 装了对它的支持。 ◼ 对COM/OLE特性的封装 MFC的OLE类封装了OLE API大量的复杂工作,这些类 提供了实现OLE的更高级接口。尤其是Interface接口 ◼ 对ODBC功能的封装 以少量的能提供与ODBC之间更高级接口的C++类,封 装了ODBC API的大量的复杂的工作,提供了一种数据 库编程模式
继承 MFC抽象出众多类的共同特性,设计出一些基类作为实现 其他类的基础。 最重要的基类是 Cobject和 CCmdTarget: Cobject是MFC的根类,实现了动态类信息、动态创建、 对象序列化、对程序调试的支持等重要的特性 CCmdTarget通过封装一些属性和方法,提供了消息处理 的架构。MFC中任何消息处理类都从 CCmdTarget派生 针对每种不同的对象,MFC都设计了一组类对这些对象进 行封装,每一组类都有一个基类,从基类派生出众多更 县体的类。这些对象包括以下种类:窗口对象,基类是 CWnd;应用程序对象,基类是 CWinThread;文档对象, 基类是 CDocument,等等。 程序员可以结合自己的实际,从适当的MFC类中派生出自 己的类,实现特定的功能,达到自己的编程目的
继承 ◼ MFC抽象出众多类的共同特性,设计出一些基类作为实现 其他类的基础。 ◼ 最重要的基类是CObject和CCmdTarget: CObject是MFC的根类,实现了动态类信息、动态创建、 对象序列化、对程序调试的支持等重要的特性 CCmdTarget通过封装一些属性和方法,提供了消息处理 的架构。MFC中任何消息处理类都从CCmdTarget派生。 ◼ 针对每种不同的对象,MFC都设计了一组类对这些对象进 行封装,每一组类都有一个基类,从基类派生出众多更 具体的类。这些对象包括以下种类:窗口对象,基类是 CWnd;应用程序对象,基类是CWinThread;文档对象, 基类是CDocument,等等。 ◼ 程序员可以结合自己的实际,从适当的MFC类中派生出自 己的类,实现特定的功能,达到自己的编程目的