3_第三章 MFC应用程序框架.ppt_第1页
3_第三章 MFC应用程序框架.ppt_第2页
3_第三章 MFC应用程序框架.ppt_第3页
3_第三章 MFC应用程序框架.ppt_第4页
3_第三章 MFC应用程序框架.ppt_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

3 1基于MFC的窗口程序3 2MFC应用程序框架与Win32程序3 3MFC应用程序框架的基本类3 4基本类对象之间的相互访问 第三章MFC应用程序框架 3 1基于MFC的窗口程序 1 OLE ObjectLinkingandEmbeddingWOSA WindowsOpenSystemArchitectureAppWizard文件 工作区文件 dsw项目文件 dsp类信息文件 clw应用程序源文件 cpp应用程序头文件 h资源文件 rc resource h rc2预编译头文件 stdAfx cpp stdAfx h 3 1基于MFC的窗口程序 2 AppWizard生成的基本类 C App 应用程序类 负责程序的初始化和结束处理 CMainFrame 主窗口类 负责主窗口的创建 显示和消息派发 C Doc 文档类 负责应用程序的数据存储 修改和管理 C View 视图类 负责为数据的显示和修改提供人机界面 3 1基于MFC的窗口程序 3 设置应用程序环境参数链接库文件 静态链接库和动态链接库 方法 在文件中包含库函数声明 把对应的库文件 lib 加入项目 对动态链接库 将对应的DLL文件 dll 放在系统目录或当前目录下 设置库文件 MFC库和SDK库 生成MAKE文件WindowsCRumtime函数库DLLImport函数库MFCImport函数库 3 1基于MFC的窗口程序 4 设置应用程序环境参数引用正确的头文件 Stdafx h 预编译头文件Afxwin h 声明所有MFC类Afxext h 声明工具栏和状态栏等窗口特征Afxdlgs h 声明通用型对话框的MFC类Afxcmn h 声明Windows9X新增的通用控件类Afxcoll h 声明集合类Afxtempl h 声明模板集合类Afxdllx h 声明可制作MFC的扩展DLLAfxres h 声明MFC的标准资源 3 1基于MFC的窗口程序 5 VC集成开发工具与应用程序生成步骤 利用VC的AppWizard生成新项目 VC集成编辑器可以编辑源文件 用ClassWizard编辑C 类 在资源编辑器修改资源文件 源文件经过编译生成 OBJ文件 资源文件经过编译生成 RES文件 链接器将各个 OBJ RES和库文件结合起来 生成可执行文件 MFC应用程序生成过程 3 2MFC应用程序与Win32程序 1 Windows程序的基本结构 回忆第二章内容 MFC类对WinMain和WndProc的封装 P81图3 14和P86图3 15 CWinApp 封装了WinMain函数的功能应用程序启动消息循环启动程序结束CFrameWnd 封装了WndProc函数的功能窗口创建消息处理窗口销毁 3 2MFC应用程序与Win32程序 2 MFC应用程序的启动流程 P88图3 16 全局主函数AfxWinMain 启动应用程序C App InitInstance 创建窗口对象和主窗口 视图对象和视图窗口 以及文档对象 动态创建对象 见第八章 文档模板类管理动态创建信息 CCommandLineInfo类对象保存程序启动时的命令行信息 ParseCommandLine 分解命令行信息 填写程序启动标志 ProcessShellCommand 根据命令行信息 启动不同的任务 创建 三个对象 两个窗口 的流程 P92图3 17和P93图3 18 窗口的显示和更新C App Run 调用间接基类CWinThread Run 读取消息队列 并启动消息循环 3 3MFC应用程序框架的基本类 1 1 MFC类体系的三大基类 根类CObject具有动态性 诊断性和持续性三大特性 从CObject派生的类 具有在程序运行时 获得对象大小和类名的能力 详见第八章 从CCmdTarget派生的类 具有在程序运行时 动态创建对象和处理命令消息的能力 从CWnd派生的类可以拥有自己的窗口 并能对它进行控制的能力 3 3MFC应用程序框架的基本类 2 2 基本类及其作用CWinApp 负责初始化和运行应用程序CFrameWnd 负责显示和搜寻用户命令CDocument 负责装载和维护文档 其中包括应用程序的工作成果和环境设置数据 或其它任何内容 CView 负责为文档提供一个或几个视图 提供修改 查询文档的人机交互的界面 3 基本类与SDI MDI关系 P100图3 19和P101图3 20 3 4基本类对象之间的相互访问 1 SDI应用程序基本类对象之间的相互访问 P102图3 21 2 MDI应用程序基本类对象之间的相互访问 P103图3 22 3 注意事项 以上相互访问仅限于同一应用程序实例或同一进程中 注意相互访问的函数有全局函数和类的成员函数 成员函数实际上是定义在MFC基类中 在应用程序中任何一个类对象 要访问应用程序类对象 只需调用全局函数AfxGe

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论