应用程序基础知识指导.pptVIP

  • 1
  • 0
  • 约5.21千字
  • 约 34页
  • 2019-05-28 发布于广东
  • 举报
第十章 MFC类库 Huang Weitong 4 . WinApp :Run()函数 InitInstance ( )函数执行完成后,主框架窗口已经创建并显示出来,程序流程将返回到 AfxWinMain ( )继续执行,这时将执行 pApp 一> Run ( )。 由于 pApp 指针指向应用程序类对象,而 Run ( )是一个在 CWinAPp 的基类 CWinThread 中定义的虚函数,在 CWinApp 类及其派生类中都没有进行重载,因此 pApp 一> Run ( )实际上调用了 CWinThread 类中的 Run ( )函数。 Run ( ) 函数封装了传统 API 编程中 WinMain ( )函数中的消息处理循环,它从消息队列接受消息并把消息分发给各个窗口类,以便进一步交给相应的类处理。 程序就此进入消息循环。当应用程序接收到 WM-QUIT 消息时,将退出消息循环并销毁窗口及各个对象,程序结束。 其中, AfxGetApp ( )是 MFC中的一个全局函数, 用以取得全局应用程序对象的指针,本例中即 pAPP 对象的指针。 在 CWinApp 中有 3 个重要的虚拟成员函数: InitApplication ( )、 Initlnstance ( )和 Run ( )。它们完成了 windows API 编程中 WinMain ( )函数的工作。应用程序必须重载 CWinApp 类中的 Initlnstance ( )函数,对于 InitApplication ( )和Run ( )函数来说,一般不需要重载。 * MFC设计应用程序的基础知识 在VC++的编程中,利用Windows API函数进行编程时,大量的代码需要用户自己编写,及其户编程的工作量较大。 利用MFC和向导(Wizard)来编写Windows应用程序 首先使用Class Wizard来生成Windows应用程序的基本框架 然后用ClassWizard来建立应用程序的类、消息处理、数据处理函数或定义控件的属性、事件和方法 最后把各应用程序所要求的功能添加到类中 10.1 MFC概述 增强了对数据库应用程序的支持 利用DAO类通过编程语言来访问、操纵和管理数据库 对Internet也提供了强有力的支持 MFC1.0 MS C/C++7.0 应用程序中非图形部分的类 GUI功能的Windows相关类 MFC2.0 MS VC++1.0 在1.0基础上增添了一些应用程序 MFC2.0 MS VC++1.5 添加了ODBC类,并且还支持OLE的性能 MFC3.0 VC++2.0 增添了对开发32位应用程序的支持 MFC4.0 包含了在Win95和N中大多数新的公共控件和DAO、MAPI MFC4.21 MFC还很好地保持了程序的向下兼容性 MFC 是用来编写Windows应用程序的C++类集 以层次结构组织 封装了大部分API函数 提供了图形环境下应用程序的框架 提供了创建应用程序的组件 提供了大量的基类供程序员根据不同的应用环境进行扩充 允许在编程过程中自定义和扩展应用程序中的类 较好的移植性,可移植于众多的平台 10.2 MFC类的组织结构及主要的类的方法 10.2.1 MFC类的组织结构 1.根类:CObject MFC中多数类和用户自定义子类的根类,是抽象基类。它提供了许多编程所需的公共操作。 对象的建立 对象的删除 运行时信息 对象诊断输出 串行化支持 应用程序和线程支持类 命令相关类 文档类 文档模板类 视类(体系结构) 框架窗口(体系结构) 应用程序体系结构类 窗口、对话框和控件类 框架窗口类(窗口) 视类(窗口) 对话框类 控件条类 绘图和打印类 输出(设备相关)类 绘图工具类 简单数据类型类 数组、列表和映射类 数组类 列表类 映射类 文件和数据库类 文件I/O类 DAO类 ODBC类 Internet和网络工作类 LSAPI类 Windows Socket类 Win32 Internet类 OLE类 OLE容器类 OLE服务器类 OLE拖放和数据传输类 OLE普通对话框类 OLE动画类 OLE动画类 OLE控件类 活动文档类 其他文档类 调试和异常类 调试支持类 异常类 10.2.3应用程序体系结构类 1.命令相关类:CCmdTarget类 该类是CObject的子类,它是MFC库中所有具有消息映射属性的基类。消息映射规定了当一对象接收到消息命令时,应调用哪一个函数对该消息进行处理 2.窗口应用程序类:CWinApp类 每个应用程序有且只有一个应用程序对象,在运行程序中该对象与其它对象相互协调,该对象从CWinApp类中派生出来。CWinApp类封装了初始化、运行、终止应用程序的代码。 应用程序体

文档评论(0)

1亿VIP精品文档

相关文档