文档-视图类应用.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文档。上传文档
查看更多
文档-视图类应用.PPT

第十章 文档-视图类应用 第十章 文档-视图类应用 10.1 文档-视图应用概述 10.2 图形的处理 10.3 文档的读写 10.1 文档-视图应用概述 10.1.1 关于文档-视图结构 10.1.2 视图中的消息及处理 10.1.3 菜单、工具栏和对话框 10.1.4 两个实例 10.1.1 关于文档-视图结构 1. 什么是文档-视图结构 2. 文档与视图的映射关系 3. 文档类和视图类的功能 4. 单文档和多文档 5. 文档-视图应用的生成 6. 文档-视图应用中的类 7. 两个简单例子 1. 什么是文档-视图结构 涉及图形的应用程序,其操作大都可以分为数据读写存储和图形显示编辑两大部分。支撑这两部分运行的 API 函数数据结构不同,操作方法也不同。由于应用的处理对象和计算功能的复杂性,对数据和图形的操作常穿插于各个函数中间,结果大量的编程时间消耗在处理数据与图形的关系上。为了统一和简化数据存取和图形显示运行机制,微软在MFC中创造了 “文档-视图” 结构,它将用于数据存储和图形显示的 API 数据和函数分开封装成文档和视图两个类,通过模板和继承,使用户在两个类中很容易分别完成对文档和图形的操作;通过在视图类中获得文档类对象的指针,也使用户很容易实现两个类对象之间的数据交换。 2. 文档与视图的映射关系 视图是一个没有边框的窗口,它位于主框架窗口内的客户区,是文档对外显示的窗口。它不能完全独立,必须依存在一个框架窗口内。下图显示了文档、视图、框架窗口之间的关系。 3. 文档类和视图类的功能 文档是能够被逻辑地组合在一起的一组数据,包括文本、表格、图形等。一个文档代表了用户存储或打开的一个文件单位。文档类的主要功能是提供数据的存储和读写,它从主框架类的标准用户界面中接受消息,并提供文件的读写操作。 视图是文档在屏幕上的一个映象,它就像一个观景器,用户通过视图看到文档,也可通过视图改变文档。在视图中,文档可以不同的图形方式显示出来,广义的图形包括数据本身,以及数据的可视化表示。一个视图总是与一个文档对象相关联,当用户打开一个文档时,MFC应用就会自动创建一个与该文档相关联的视图。 4. 单文档和多文档 一个视图只能同时显示和操作一个文档,而一个文档却可同时拥有一个或多个视图。如在记事本和画图程序中,一个文档只对应一个操作界面,而在高版本的Powerpoint中,一个文档则可同时以大纲和幻灯片的形式进行显示和编辑。 某些应用 (例如Visual C++) 需要同时对多个文档进行操作,此时可以利用MFC提供的多文档机制,借助AppWizard生成一个多文档应用。在多文档应用中,主框架窗口只有一个,但可以同时建立或打开多个子窗口,每个子窗口对应一个不同的文档。子窗口可以进行平铺、层叠摆放,通过子窗口之间的切换,可以对不同的文档进行操作。 5. 文档-视图应用的生成 在MFC AppWizard - Step 1中选择第一个单选按钮“Single Document”(单文档), 或第二个单选按钮“Multiple Document” (多文档),单击Next。 在向导接下来顺序弹出的5个对话框中,各个选项目前均暂可不改,前两个单击Next,后一个单击Finish, 或者在第一步的对话框中直接单击 Finish,在最后弹出的 “New Project Information”对话框中单击OK。 编译运行,分别观察单文档和多文档界面. 6. 文档-视图应用中的类 我们先来观察一下向导为我们生成了哪些类。在单文档应用中选择左边窗口之下的Class View选项卡, 双击窗口中的“MySDI classes”,稍后在其下出现 CAboutDlg, CMainFrame, CMySDIApp, CMySDIDoc, CMySDIView五个类名。对比对话框应用, 可知除了CAboutDlg和App类在两种应用中均有以外,这里代替对话框类的则是主框架、文档和视图三个类。再选择FileView选项卡,分别双击窗口中的Header Files和Source Files,可看到主框架类、应用类、文档类和视图类的定义和实现文件。在多文档应用中重复上述工作,后者除了上述五个类之外,还多出了一个子框架类ChileFrame及其定义和实现文件,上述这些便是文档-视图应用框架的特点。 7. 两个简单例子 我们先来做两个简单的例子,以观察一下文档-视图类各自的功能,即文档类是怎样实现数据的存取,视图类怎样实现数据的显示的。 例1. 在视图中显示字符串 例2. 在单文档视图中画线 例1. 在视图中显示字符串 新建一个单文档应用,命名为Str; 在StrDoc.h的类定义中加入一个CString型成员m_str; 在StrDoc.cpp的文档类构造函数中为m_st

文档评论(0)

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

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

1亿VIP精品文档

相关文档