第三章、MFC类库简介
- 格式:ppt
- 大小:2.90 MB
- 文档页数:25


1.MFC概述1.MFC是一个编程框架MFC (Microsoft Foundation Class Library)中的各种类结合起来构成了一个应用程序框架,它的目的就是让程序员在此基础上来建立Windows下的应用程序,这是一种相对SDK来说更为简单的方法。
因为总体上,MFC框架定义了应用程序的轮廓,并提供了用户接口的标准实现方法,程序员所要做的就是通过预定义的接口把具体应用程序特有的东西填入这个轮廓。
Microsoft Visual C++提供了相应的工具来完成这个工作:AppWizard可以用来生成初步的框架文件(代码和资源等);资源编辑器用于帮助直观地设计用户接口;ClassWizard用来协助添加代码到框架文件;最后,编译,则通过类库实现了应用程序特定的逻辑。
1.封装构成MFC框架的是MFC类库。
MFC类库是C++类库。
这些类或者封装了Win32应用程序编程接口,或者封装了应用程序的概念,或者封装了OLE特性,或者封装了ODBC和DAO数据访问的功能,等等,分述如下。
(1)对Win32应用程序编程接口的封装用一个C++ Object来包装一个Windows Object。
例如:class CWnd是一个C++ w indow 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),因而相当繁琐。
C++MFC C++是⼀种静态数据类型检查的、⽀持多重编程范式的程序设计语⾔,⽀持过程化程序设计、数据抽象、⾯向对象程序设计、制作图标等泛型程序设计的多种程序设计风格。
MFC(Microsoft Foundation Classes),是⼀个微软公司提供的类库,以C++类的形式封装了Windows的API,并且包含⼀个应⽤程序框架,以减少应⽤程序开发⼈员的⼯作量,同VCL类似,是⼀种应⽤程序框架。
其中包含的类包含⼤量Windows句柄封装类和很多Windows的内建控件和组件的封装类。
此外MFC的部分类为MFC/ATL 通⽤,可以在Win32 应⽤程序中单独包含并使⽤这些类。
由于它的易⽤性,初学者常误认为VC++开发必须使⽤MFC,这种想法是错误的。
作为Application Framework,MFC的使⽤只能提⾼某些情况下的开发效率,只起到辅助作⽤,⽽不能替代整个Win32 程序设计。
从C到C++ 计算机诞⽣初期,⼈们要使⽤计算机必须⽤机器语⾔或汇编语⾔编写程序。 世界上第⼀种计算机⾼级语⾔诞⽣于1954年,它是FORTRAN语⾔。 BASIC语⾔是1964年在FORTRAN语⾔的基础上简化⽽成的。 C语⾔是1972年由美国贝尔实验室的D.M.Ritchie研制成功的。 C++是由AT&T Bell(贝尔)实验室的Bjarne Stroustrup博⼠及其同事于20世纪80年代初在C语⾔的基础上开发成功的,C++保留了C语⾔原有的所有优点,增加了⾯向对象的机制。 ⾯向对象程序设计,是针对开发较⼤规模的程序⽽提出来的,⽬的是提⾼软件开发的效率。不要把⾯向对象和⾯向过程对⽴起来,⾯向对象和⾯向过程不是⽭盾的,⽽是各有⽤途、互为补充的。学习C++,既要会利⽤C++进⾏⾯向过程的结构化程序设计,也要会利⽤C++进⾏⾯向对象的程序设计。 如果要⽤C++创建窗⼝,我们需要使⽤到系统API或者使⽤封装了这些API的⼀些库,前者如Win32程序设计,后者如MFC、wxWidgets。