【教学课件】第8章MFC基础知识.ppt





《【教学课件】第8章MFC基础知识.ppt》由会员分享,可在线阅读,更多相关《【教学课件】第8章MFC基础知识.ppt(32页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第8章章 MFC基础知识基础知识 18.1 MFC概述概述 MFC MFC是用来编写是用来编写WindowsWindows应用程序的应用程序的C+C+类集,该类集以层次结构组织起来,类集,该类集以层次结构组织起来,其中封装了大部分其中封装了大部分Windows APIWindows API函数和函数和WindowsWindows控件,它所包含的功能涉及到整控件,它所包含的功能涉及到整个个WindowsWindows操作系统。操作系统。MFC MFC不仅为用户提供了不仅为用户提供了 Windows Windows图形图形环境下应用程序的框架,而且还提供了创环境下应用程序的框架,而且还提供了创建
2、应用程序的组件。建应用程序的组件。2MFCMFC还很好地保持了程序的向下兼容性还很好地保持了程序的向下兼容性是用来编是用来编写写WindowsWindows应用程序应用程序的的C+C+类集类集以层次结构组织以层次结构组织封装了大部分封装了大部分APIAPI函数函数提供了图形环境下应用程序的框架提供了图形环境下应用程序的框架提供了创建应用程序的组件提供了创建应用程序的组件提供了大量的基类供程序员根据不同的应用环境进行扩充提供了大量的基类供程序员根据不同的应用环境进行扩充允许在编程过程中自定义和扩展应用程序中的类允许在编程过程中自定义和扩展应用程序中的类较好的移植性,较好的移植性,可移植于众多的平
3、台可移植于众多的平台MFCMFC3MFC1.0&MS C/C+7.0MFC1.0&MS C/C+7.0应用程序中非图形部分的类应用程序中非图形部分的类GUIGUI功能的功能的WindowsWindows相关类相关类MFC2.0&MS VC+1.0MFC2.0&MS VC+1.0在在1.01.0基础上增添了一些应用程序基础上增添了一些应用程序MFC3.0&VC+2.0MFC3.0&VC+2.0增添了对开发增添了对开发3232位应用程序的支持位应用程序的支持MFC2.0&MS VC+1.5MFC2.0&MS VC+1.5添加了添加了ODBCODBC类,并且还支持类,并且还支持OLEOLE的性能的性
4、能MFC4.0MFC4.0包含了在包含了在Win95Win95和和N N中大多数新的公共控件中大多数新的公共控件和和DAODAO、MAPIMAPI增强了对数据库应用程序的支持增强了对数据库应用程序的支持利用利用DAODAO类通过编程语言来访问、操纵和管理数据库类通过编程语言来访问、操纵和管理数据库对对InternetInternet也提供了强有力的支持也提供了强有力的支持MFC4.21MFC4.214 MFC5.0增强了对增强了对数据库数据库和和Internet的支持,可使用的支持,可使用ODBC类和类和ODBC驱动程序来访问提供驱动程序来访问提供ODBC支持的数支持的数据库中的数据;可以通过
5、数据访问对象(据库中的数据;可以通过数据访问对象(DAO)类通)类通过编程语言来访问和操纵数据库中的数据并管理数据过编程语言来访问和操纵数据库中的数据并管理数据库、数据库对象与结构。这些支持主要包括以下几个库、数据库对象与结构。这些支持主要包括以下几个部分:部分:Win32 Internet API使使Internet成为应用程序的一部分并成为应用程序的一部分并简化了对简化了对Internet服务的访问服务的访问Activex文档可以显示在整个文档可以显示在整个Web浏览器或浏览器或OLE容器的容器的整个客户窗口中整个客户窗口中 Activex控件可以用在控件可以用在Internet和桌面应用
6、程序中可以和桌面应用程序中可以使用使用CHttpServer、CHttpFilter、ChttpServerContext和和CHttpFilterContext类来建立动态类来建立动态DLL,以便为以便为Web页面页面增添功能增添功能5MFC6.0MFC6.0中引进了新的功能:中引进了新的功能:提出了活动文档容器来管理不同类型的文档,提出了活动文档容器来管理不同类型的文档,并通过引入类并通过引入类COleDocObjectItemCOleDocObjectItem来加以实现。来加以实现。同时在应用程序向导中也加入了对这一新特同时在应用程序向导中也加入了对这一新特性的支持。性的支持。加入了对动
7、态加入了对动态HTMLHTML技术的支持,通过引入一技术的支持,通过引入一个新类个新类CHtmlViewCHtmlView,使程序员开发的应用程序,使程序员开发的应用程序可以浏览并显示用动态可以浏览并显示用动态HTMLHTML技术开发的技术开发的HTMLHTML文档。类文档。类CHtmlViewCHtmlView中封装了许多浏览器的特中封装了许多浏览器的特征,包括浏览器在历史记录、书签和安全等征,包括浏览器在历史记录、书签和安全等方面的特征都被封装进了类方面的特征都被封装进了类CHtmlViewCHtmlView。扩展了对公共控件的支持,如时间控键、扩展了对公共控件的支持,如时间控键、IPIP
8、地址控键和日期控键等。地址控键和日期控键等。68.2 MFC类的组织结构及主要类的组织结构及主要的类的简介的类的简介 78.2.1 MFC类的组织结构类的组织结构 MFC库中的类按层次关系划分类:库中的类按层次关系划分类:(1)根类:)根类:CObject(2)应用程序体系结构类)应用程序体系结构类(3)窗口、对话框和控件类)窗口、对话框和控件类(4)绘图和打印类)绘图和打印类(5)简单数据类型类)简单数据类型类(6)数组、列表和映射类)数组、列表和映射类(7)文件和数据库类)文件和数据库类(8)Internet和网络工作类和网络工作类(9)OLE类类(10)调试和异常类)调试和异常类88.2
9、.2 根类根类-CObjectCObject MFCMFC中多数类和用户自定中多数类和用户自定义子类的根类,是抽象义子类的根类,是抽象基类。它提供了许多编基类。它提供了许多编程所需的公共操作。程所需的公共操作。对象的建立对象的建立对象的删除对象的删除运行时信息运行时信息对象诊断输出对象诊断输出串行化支持串行化支持应用程序和线程支持类应用程序和线程支持类命令相关类命令相关类文档类文档类文档模板类文档模板类视类视类(体系结构体系结构)框架窗口框架窗口(体系结构体系结构)应用程序体应用程序体系结构类系结构类窗口、对话窗口、对话框和控件类框和控件类框架窗口类(窗口)框架窗口类(窗口)视类(窗口)视类(
10、窗口)对话框类对话框类控件条类控件条类绘图和绘图和打印类打印类输出输出(设备相关设备相关)类类绘图工具类绘图工具类简单数据类型类简单数据类型类数组、列表和映射类数组、列表和映射类数组类数组类列表类列表类映射类映射类9文件和数据库类文件和数据库类文件文件I/OI/O类类DAODAO类类ODBCODBC类类InternetInternet和网络工作类和网络工作类ISAPIISAPI类类Windows SocketWindows Socket类类Win32 InternetWin32 Internet类类OLEOLE类类OLEOLE容器类容器类OLEOLE服务器类服务器类OLEOLE拖放和数据传输类
11、拖放和数据传输类OLEOLE普通对话框类普通对话框类OLEOLE动画类动画类OLEOLE动画类动画类OLEOLE控件类控件类活动文档类活动文档类其他文档类其他文档类调试和异常类调试和异常类调试支持类调试支持类异常类异常类10应用程序体系结构类应用程序体系结构类 1 1命令相关类:命令相关类:CCmdTargetCCmdTarget类类该类是该类是CObjectCObject的子类,它是的子类,它是MFCMFC库中所有具有消息映射属性的库中所有具有消息映射属性的基类。消息映射规定了当一对象接收到消息命令时,应调用哪基类。消息映射规定了当一对象接收到消息命令时,应调用哪一个函数对该消息进行处理一个
12、函数对该消息进行处理应用程序体应用程序体系结构类系结构类1.1.命令相关类命令相关类2.2.窗口应用程序类窗口应用程序类3.3.文档文档/视类视类4.4.线程基类线程基类编写程序的任务是编写程序的任务是填充框架,添加应填充框架,添加应用程序专用的功能用程序专用的功能用于构造应用程用于构造应用程序框架的结构,序框架的结构,提供多数应用程提供多数应用程序公用的功能序公用的功能2 2线程基类:线程基类:CWinThreadCWinThread类类所有线程的基类,可直接使用。所有线程的基类,可直接使用。CWinAppCWinApp类就是从类就是从CWinThreadCWinThread类中派生出来的类
13、中派生出来的114 4文档文档/视类视类 文档对象由文档模板对象创建,管理应用程序的文档对象由文档模板对象创建,管理应用程序的数据。视对象表示一个窗口的客户区,显示文档数据数据。视对象表示一个窗口的客户区,显示文档数据并允许用户与之交互并允许用户与之交互3 3窗口应用程序类:窗口应用程序类:CWinAppCWinApp类类 每个应用程序有且只有一个应用程序对象,在运每个应用程序有且只有一个应用程序对象,在运行程序中该对象与其它对象相互协调,该对象从行程序中该对象与其它对象相互协调,该对象从CWinAppCWinApp类中派生出来。类中派生出来。CWinAppCWinApp类封装了初始化、运类封
14、装了初始化、运行、终止应用程序的代码。行、终止应用程序的代码。12在在CWinApp中定义的部分函数的功能有时也可中定义的部分函数的功能有时也可以通过以通过MFC提供的全局函数来实现,这些全提供的全局函数来实现,这些全局函数一般都以局函数一般都以Afx为前缀。为前缀。例如调用例如调用AfxMessageBox函数将弹出一个消息函数将弹出一个消息框,其功能与框,其功能与CWinApp中的中的DoMessageBox相相同。同。AfxMessageBox原型如下:原型如下:int AfxMessageBox(LPCTSTR lpszText,UINT nType=MB_OK,UINT nIDHel
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 教学课件 教学 课件 MFC 基础知识

限制150内