网站大量收购独家精品文档,联系QQ:2885784924

实践教程第三章第二版.ppt

  1. 1、本文档共153页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实践教程第三章第二版

第三章 MFC程序设计 本章的内容,简洁而不失完整性:由应用程序向导建立程序框架,由资源编辑器建立用户界面,由类向导建立成员变量、消息映射和处理函数,加上文档序列化和注册 MFC包含了所有与系统相关的类(包括图形用户界面相关的类),其中封装了大多数的API函数,提供了应用程序框架和开发应用程序的工具如应用程序向导、类向导、可视化资源设计等高效工具,用消息映射处理消息响应,大大简化了Windows应用程序的开发工作,使程序员可以从繁重的编程工作中解脱,提高工作效率。 目录 3.1.MFC程序设计简介 3.2.MFC 程序设计 3.3.用户界面资源的应用 3.4.对话框的应用 3.5.基于对话框的应用程序设计实例 3.6.文本和图形输出 3.7.文档的保存 3.8. MDI应用程序设计 3.1 MFC程序设计简介 MFC类库 基础类 (已在第二章中介绍) 宏、全局变量及全局函数 应用程序框架 3.1.1 MFC定义的宏、全局函数及全局变量 动态MFC对象宏 DECLARE_DYNAMIC和IMPLEMENT_DYNAMIC 动态创建对象宏 DECLARE_DYNCREATE和IMPLEMENT_DYNCREATE 运行时类宏: RUNTIME_CLASS 序列化宏: DECLARE_SERIAL和IMPLEMENT_SERIAL 诊断服务宏: ASSERT、VERIFY 跟踪服务宏: TRACE 异常处理宏: THROW 3.1.1 MFC定义的宏、全局函数及全局变量 MFC提供一些不属于任何类的全局函数,函数名以Afx开头,可以被应用程序中的所有类和函数所调用。如:AfxAbort(),无条件终止一个应用程序的执行;AfxGetAppName(),返回指向应用程序名的字符串指针;AfxWinInit(),由WinMain()调用,对MFC应用程序进行图形用户界面(GUI)的初始化等等。 3.1.2 MFC命名规则 表3.1 命名规则 3.1.3 应用程序框架介绍 MFC提供了构造Windows应用程序的框架,它不仅为应用程序建立标准的结构,生成一系列起动文件,还提供标准的图形用户界面如菜单、工具栏、状态条等供开发人员在程序中补充完善,开发人员只需要完成针对特定应用的代码。使用应用程序框架的应用程序代码小,运行速度快,它提供的工具也降低了编码的难度。 程序的数据储存在文档类中(作为文档类的数据成员),是对数据的抽象表示。数据显示由视图负责,视图是程序窗口的客户区,框架窗口是客户区的框架,程序数据显示在窗口,用户通过视图与程序交互。 一个文档可以对应多个不同视图;而一个视图一般只对应一个文档。当文档数据发生变化时,视图显示的状态也会随之变化;对于多个视图的情况,基于同一文档的多个视图的显示同步变化。 2. 单文档界面应用 单文档界面应用程序简称SDI(Single Document Interface),只允许一个框架窗口存在,每次只能创建和拥有一个文档对象,也只允许打开一个文档。 SDI各类 关系图 表3.2 基于文档/视图关系的SDI应用中的类 3.多文档界面应用 在打开的多个子窗口中,只有一个活动窗口,应用程序菜单和工具栏的所有的命令都是针对活动窗口的。 4. 非文档/视图结构应用 常见非文档/视图结构应用: (1).基于对话框的应用,它包含一个CWinApp对象和一个模态对话框,对话框负责数据的存储和显示 。关系图 5. MFC应用程序创建 6.最简单的MFC应用程序示例 对于一个MFC应用程序来说,只有CWinApp的派生对象是必不可少的,其它类均可视情况进行取舍。下例是一个最简单的MFC应用程序。 例:显示一个消息框。 (1).创建工程,工程类型选择Win32 Application,工程名为Ex3_0; (2).创建C++源文件,文件名Ex3_0.cpp,内容如下: #include afxwin.h class CEx3_0App: public CWinApp{ //CWinApp派生类 public: virtual BOOL InitInstance() { MessageBox(NULL,”SimplistMFC Application.”, ”Ex3_0”,MB_OK); return TRUE; } }; CEx3_0App theApp; //全局变量,代表应用程序本身 3.2.MFC 程序设计 4.在InitInstance()函数中,先用new构造一个CFram

文档评论(0)

ctuorn0371 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档