第十章 文档视图结构.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文档。上传文档
查看更多
基本程序结构 文档视图结构是Microsoft为编程人员提供的一些类,以方便文件和窗口的创建、显示、保存等。总体来讲,采用文档视图结构的应用程序主要由以下4部分组成。 文档类(CDocument):负责应用程序数据的管理。它是所有应用程序文档类的基类,提供了文档类所需要实现的最基本功能的支持,为文档对象与框架窗口对象、视图对象等的交互提供了基本框架。 视图类(CView):负责用户与文档之间的交互。它通过一个指向其对应的文档对象的指针直接或间接地获取和修改文档中的数据。 框架结构类(CFrame):MFC应用程序的主框架是应用程序的主窗口,子框架则提供了一个视图窗口,每个视图都能在其中运行。此外,框架对象还可以处理应用程序菜单、状态栏和工具栏,并接受视图中的命令消息。 主应用程序类(CWinApp):负责程序的运行和处理程序与Windows之间的数据交互,并控制其他类。 通常情况下,视图通过GetDocument成员函数获得指向相关联文档对象的指针,并通过该指针调用文档类的成员函数从文档中读取数据,并将数据显示在电脑屏幕上,用户通过与视图的交互来查看数据并对其进行修改,如图10-4所示。 GetDocument函数 该函数是视图类中的一个成员函数,可写为CView::GetDocument。GetDocument函数返回的是指向文档的指针,利用这个指针就可以访问文档类或其派生类的成员函数及公共数据成员。 当AppWizard生成一个派生的CView类的时候,它同时也创建了一个特殊的typesafe(保护类型)的GetDocument函数,读者可在工作区打开【ClassView】标签,单击打开视图类CView,可看到该函数,如图10-7所示。 例如,名称为“单文档视图应用程序”的工程,AppWizard创建的四个类为:CMyApp、CMainFrame、CMytView、CMyDoc,它们分别表示CWinApp类、CFrameView类、CDocument类和CView类的派生类,如图10-9所示。 创建单文档视图应用程序 在AppWizard下,新建一个【MFC AppWizard[exe]】程序,打开【MFC AppWizard-Step 1】对话框,在其中选中【Single document】单选按钮和【Document/View arthitechure support?】复选框,如不选中该复选框,MFC AppWizard不会自动为文档视图结构生成代码,如图10-11所示。 多文档视图应用程序(MDI) 一个多文档界面应用程序拥有多个子窗口。每个窗口单独对应于一个文档,类似于Microsoft Word程序。 与单文档应用程序不同的是,当读者创建的是多文档界面应用程序时,AppWizard的会自动创建五个类,其类的命名规则与单文档应用程序的规则相同。例如,创建工程Test后,MFC AppWizard生成的五个类分别为:CTestApp、CMainFrame、CChildFrame、CTestDoc、CTestView,分别为CWinApp类、CMDIFrameWnd类、CMDIChildWnd类、CDocument类和CView类的派生类。 需要读者注意的是,多文档应用程序MDI的框架窗口类也是CMainFrame类,但它是由CMDIFrameWnd类派生的,不是SDI程序中的CFrameWnd类,其相应的文件也是“MainFrame.h”和“MainFrame.cpp”。而增加的文档框架窗口类则是由CMDIChildWnd类派生的,其相应的文件为“ChildFrm.h”和“ChildFrm.cpp”。其工作区如图10-17所示。 1-* 北京源智天下科技有限公司 联系方式: 联系方式: 北京源智天下科技有限公司 第十讲:文档视图结构 杨章伟 e-mail:yang505412@163.com 课程内容安排 文档视图结构概述 文档-视图相互作用的函数 单文档-视图应用程序结构 多文档-视图应用程序结构 综合练习 思考和习题 文档视图结构概述 文档视图结构是Visual C++ 6.0语言中使用MFC开发应用程序的基本框架。在这个框架中,数据的维护及显示是由两个不同但又彼此紧密相关的类——文档类和视图类分别负责的。 文档和视图是MFC应用程序的核心。Windows应用程序除了处理数据外,还要将数据显示出来。在Windows界面下,数据的显示并非使用ANSI标准C++中的cin或cout指令。MFC采用了两个相互独立的类:CDocument类和CView类来负责数据的存储与显示。 文档和视图的关系 在文档视图结构中,文档是应用程序数据基本元素的集合,它构成应用程序所使用的数据单元。另外它

文档评论(0)

pangzilva + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档