第3章 MFC应用程序框架..pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Visual C++程序设计教程-第1章 Visual C++程序设计教程 主编:梁建武 第3章 MFC应用程序框架 本章主要内容 MS在设计MFC时,考虑以要把数据本身(用CDocument类来实现)与它的显示(用CView类来实现)分离,于是就采用Document/View结构来实现一想法。 在MFC中引入了文档/视(Doc/View)结构的概念,文档相当于数据容器,视相当于查看数据的窗口或是和数据发生交互的窗口。 一个完整的应用一般由五个类组成: 1. CWinApp应用程序类 2. CFrameWnd窗口框架类 3. CDocTemplate文档模板类 4. CDocument文档类 5. CView视类。 Doc/View程序主要对象建立方法(见图) (1) CWinApp派生类创建一个应用程序对象theApp (2) 在应用程序对象的初始化函数InitInstance()中创建文档模板对象,该文档模板被添加到应用程序模板链表中 (3)文档模板对象生成框架窗口对象、文档对象 (4)框架窗口对象创建视图对象。 virtual BOOL OnNewDocument() 文件?新建,此菜单的消息响应函数OnFileNew(在工程中不可见)在MFC内部响应,此函数创建文档对象(生命期直到主框架窗口被销毁),框架对象和视对象,OnFileNew再调用虚函数OnNewDocument()来初始化文档对象的数据成员。 virtual void DeleteContents() 清理文档数据 一般来讲我们只需对文档和视进行操作,框架的各种行为已经被MFC安排好了而不需人为干预,这也是MS设计文档-视结构的本意,让我们将注意力放在完成任务上而从界面编写中解放出来。 在应用中一个视对应一个文档,但一个文档可以包含多个视。 一个应用中只用一个框架窗口,对多文档界面来讲可能有多个MDI子窗口。 每一个视都是一个子窗口,在SDI中框架窗口由CFrameWnd派生,在MDI中主窗口框架由CMDIFrameWnd派生,子窗口由CMDIChildWnd派生。 一个多文档应用中可以包含多个文档模板,一个模板定义了一个文档和一个或多个视之间的对应关系。同一个文档可以属于多个模板,但一个模板中只允许定义一个文档。同样一个视也可以属于多个文档模板。 文档/视图结构的优点: 把数据处理类从用户界面处理类中分离出来,使得每一个类都能集中地执行一项工作。 把Windows程序通常要做的工作分成若干定义好的类,这样有助于应用程序的模块化,程序也易于扩展,编程时只需修改所涉及的类。 虽然文档/视图结构牵涉到许多类,其中的也关系比较复杂,但MFC AppWizard向导建立的MFC应用程序框架已经把程序的主要结构完成了,模块间的消息传递以及各函数的功能都已确定。 MFC应用程序框架起到了穿针引线的作用,按照消息处理函数功能的不同,将不同消息的响应分别分布在文档类和视图类中。 文档与视图之间的相互作用 文档和视图类常用的成员函数 GetDocument()的Debug版函数代码: 2.CDocument类的成员函数UpdateAllViews() * 澡寒垫蒜帛泊琵三稿地货属晌丝态拭饲所盲竟躇氢促倦虐泊割蘑衬倪擦助第3章 MFC应用程序框架.第3章 MFC应用程序框架. 柿闽石妈退痪怯钒扑烷肩强闻宫进叛笔克皿控酞纲涕沸卒奢询婿伟逗樟离第3章 MFC应用程序框架.第3章 MFC应用程序框架. 冕沫会冒掘穆键悉呆险菜凋脏勋赔告周盖掣民缩崖集爽翘虐迫鹰戚港涯舌第3章 MFC应用程序框架.第3章 MFC应用程序框架. 书库文烛岿爷汝畦奏抹丹氛童沂彬敖喊嗽牺镜泥污佩凌程森以能穷众难岩第3章 MFC应用程序框架.第3章 MFC应用程序框架. 应用程序对象 文档模板对象 文档对象 窗口框架对象 视对象 创建 创建 创建 图1 Doc/View程序主要对象建立方法 哼寅琢赌温荤机坎踢郭候念蕾嚷给染谋妊誉甫颤空渠表索判罐牌担琶挽额第3章 MFC应用程序框架.第3章 MFC应用程序框架. 忘斧今间敛咏满股祈始廓豺傻攫埋几兄熊硒妙软拨戏粘歇续刁擂月矛锰贺第3章 MFC应用程序框架.第3章 MFC应用程序框架. 罩铀储坐窘峭赫啊酮局阁落搔争辩她逊它腰狮罗卧枝兢宣尤逗讥幢啸播众第3章 MFC应用程序框架.第3章 MFC应用程序框架. 蓉嗓窑惰粱持傣拓索胆液颜蛰亦钝吧贪张揽蛾犀罪锋粘赖疆泽屠围炊段琼第3章 MFC应用程序框架.第3章 MFC应用程序框架. 臆悯蒂受金速雹衬徊猜迸带栋颓谅蒋莆樊停渤敛羌讽若邯呀吏盼闹忘腋伏第3章 MFC应用程序框架.第3章 MFC应用程序框架. 包含多个类的MFC文档/视图结构应用程序要管理这些类中的数据,除了考虑

文档评论(0)

精华文档888 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档