第11章 文档和视图.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文档。上传文档
查看更多
第11章 文档和视图

第11章 文档和视图 文档/视图结构是Visual C++基于文档开发应用程序的基础。通常情况下,文档用于存储数据,视图在框架窗口的工作区显示用户的数据并管理用户与数据的交互。文档和视图之间进行通信从而得到和更新数据。本章将具体讲解文档/视图结构,内容包括文档/视图结构简介、文档/视图结构的应用、切分窗口和一档多视等。通过本章的学习,读者会熟练使用文档/视图结构。 11.1 文档/视图结构简介 应用程序的文档数据通过视图与用户交互。文档可以看作是用于存储数据的容器,而视图可以看作是用于查看数据的窗口或是与数据发生交互的窗口。下面对文档/视图结构进行详细介绍。 11.1.1 文档/视图结构概述 文档/视图结构是一种新型的应用程序结构。文档/视图结构的出现给广大程序员带来了很大的便利性,因为其大大简化了多数应用程序的设计开发过程。文档/视图结构的优点如下: 文档/视图结构将数据操作、数据显示和用户界面分开,使得模块划分更加合理,增加了模块的独立性。文档负责数据在存储,视图负责数据的输入与用户的交互,二者各司其职,互不干扰。 文档/视图结构为用户提供了许多标准操作界面。例如,新建、打开、保存、关闭等。因此,用户不必为上述操作而重复书写代码。 文档/视图结构支持打印预览的功能。用户不必书写大量的代码来实现打印预览的功能,而是书写少量代码来引用该功能。 11.1.1 文档/视图结构概述 文档的主要功能是用于存储数据,而视图是用户用于显示数据的可视窗口。二者的关系如下图所示。 每个文档都会有一个或多个视图显示,而一个视图只能对应一个文档。当文档中的数据发生改变时,视图中显示的数据也会随之发生变化。一个视图既可以输出到窗口中,也可以输出到打印机上。 11.1.2 文档/视图结构分类 在Visual C++中,文档/视图结构的程序分为两类:单文档应用程序和多文档应用程序。 1.文档应用程序(SDI) 在单文档程序中,用户在同一时刻只能操作一个文档。例如,Window下的记事本就是典型的单文档应用程序。 当使用记事本操作文件时,如果想打开另一个文档,记事本会自动关闭当前的文档。如果当前文档内容有变化并未保存时,其会提示用户是否对所做的修改加以保存。 1.文档应用程序(SDI) 单文档程序一般只提供一个文件菜单。在该文件菜单下,一般有新建文档、打开文档、保存文档或另存为文档等子菜单,如下图所示。这类程序相对比较简单,常用的应用程序有终端仿真程序和一些工具程序。 2.多文档应用程序(MDI) 在多文档程序中,允许用户在同一时刻操作多个文档。例如,Viusal C++ 6.0集成开发环境就是一个多文档应用程序,如下图所示。 2.多文档应用程序(MDI) 当使用Viusal C++ 6.0集成开发环境时,在界面中可以同时打开多个文件,而且为每个文件打开一个窗口。用户可以通过切换活动窗口激活相应的文档进行编辑。 多文档应用程序也提供一个File菜单,用于新建、打开、保存文档。与单文档应用程序不同的是,它往往还提供提供一个Close(关闭)菜单项,用于关闭当前打开的文档。多文档应用程序还提供一个窗口菜单,管理所有打开的子窗口,包括对子窗口的新建、关闭、层叠和平铺等。关闭一个窗口时,窗口内的文档也被自动关闭。 11.2 文档/视图结构应用程序框架分析 在Visual C++ 6.0中,使用AppWizard可以方便地创建文档/视图结构的应用程序。下面对文档/视图结构应用程序的创建、实现过程和工作机制作简单介绍。 11.2.2 单文档应用程序的执行过程 想要熟练地运用单文档应用程序,首先要了解该应用程序的执行过程。具体过程如下: (1)应用程序首先创建了一个CWinApp应用程序的对象theApp。该对象是一个全局对象并且只有一个。在应用程序中可以找到这个全局对象。 (2)在InitInstance()函数创建文档模板pDocTemplate。在动态创建文档、视图和框架的同时,将三者绑定到一起。 11.2.2 单文档应用程序的执行过程 (3)在InitInstance()函数中,将单文档模板pDocTemplate添加到文档模板的链表中。 (4)初始化文档/视图框架。 (5)显示并刷新窗口,进入消息循环。 11.2.3 程序框架中的主要类及相互关系 从创建一个单文档的应用程序过程中可以看出,一个完整的应用程序由4个类组成:CWinApp类、CFrameWnd类、CDocument类、CView类。 CWinApp类:应用程序类。该类是应用程序的起点。 CFrameWnd类:框架窗口类。该类是应用程序的框架窗口,用于接收消息循环。 CDocument类:文档类。该类用于存储应用程序中的数据成员和成员

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档