- 1、本文档共38页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
UNIT 17 文档和视图 主讲人:谭成予 副教授 武汉大学计算机学院 本讲内容提纲 文档和视图的关系 文档和视图常用的成员函数 1.1 什么是文档 文档:是一种数据源,是给予应用程序和用户交互的数据集合的名称;它可以是游戏数据、几何模型、文本文档、或者任何我们需要的事物。 数据源有很多种,最常见的是磁盘文件,文档对象负责来自所有数据源的数据的管理。 “文档”只是一个标签,表示作为整体对待的程序中的应用数据。 1.1 什么是文档 文档界面: SDI,单文档界面:每次只需要打开一个文档的程序,使用这种界面的程序被称为SDI应用程序。 MDI,多文档界面:一次需要打开多个文档的程序; 不仅可以处理类型相同的多个文档,也可处理类型不同的文档; 其中每个文档显示在自己的窗口(即应用程序的子窗口)中。 “多个顶级文档体系结构”的应用程序变体,其中每个文档的窗口都是桌面的子窗口。 1.2 什么是视图 视图:数据的用户窗口; 为用户提供了文档的可视化的数据显示,它把文档的部分或全部数据显示出来。 还给用户提供了一个与文档中的数据交互的界面,它把用户的输入转化为对文档中的数据的操作。 一个文档可以有 多个视图。 1.3 连接文档与视图 文档、视图和框架窗口之间的协作,是由了一个名为文档模板的MFC类的对象安排; 1、文档模板 文档模板:不仅管理程序中的文档对象,还管理与文档相关的窗口和视图。 每种文档类型都需要一个文档模板。 简而言之,文档模板对象创建文档对象和框架窗口对象,而文档的视图是由框架窗口对象创建的。 1.3 连接文档与视图 1.3 连接文档与视图 1.4 文档与视图结构的优点 把数据处理类从用户界面处理类中分离出来,使得每一个类都能集中地执行一项工作。 把Windows程序通常要做的工作分成若干定义好的类,这样有助于应用程序的模块化,程序也易于扩展,编程时只需修改所涉及的类。 虽然文档/视图结构牵涉到许多类,其中的关系也比较复杂,但MFC AppWizard向导建立的MFC应用程序框架已经把程序的主要结构完成了,模块间的消息传递以及各函数的功能都已确定。 1.4 文档与视图结构的优点 MFC应用程序框架起到了穿针引线的作用,按照消息处理函数功能的不同,将不同消息的响应分别分布在文档类和视图类中。 在需要同一文档的多个视图时,例如同时需要电子数据表格和图表视图。文档/视图模型使一个单独的视图对象得以表示每个数据视图,而对所有视图通用的代码(例如计算引擎)可以驻留在文档中。文档还承担在每次数据更改时更新所有视图的任务。 MFC 文档/视图结构使支持多视图、多文档类型、拆分窗口和其他有价值的用户界面功能变得容易。 1.4 文档与视图结构的优点 文档/视图结构是MVC的一种变体 1.4 文档与视图结构的优点 文档/视图结构是MVC的一种变体 1.4 文档与视图结构的优点 2.1 应用程序和MFC MFC的Windows应用程序几乎都会出现4个基本的类 应用程序类CMyApp 框架窗口类CMyWnd 视图类CMyView,该类定义如何在CMyWnd对象创建的窗口的客户区中显示CMyDoc对象包含的数据 文档类CMyDoc,该类定义包含应用程序数据的文档 2.1 应用程序和MFC 2.1 应用程序和MFC 包含多个类的MFC文档/视图结构应用程序要管理这些类中的数据,除了考虑在程序的哪一部分拥有数据和在哪一部分显示数据,一个主要的问题是文档数据更改后如何保持视图显示的同步,即文档与视图如何进行交互。 在文档、视图和应用程序框架之间包含了一系列复杂的相互作用过程,文档与视图的交互是通过类的公有成员变量和成员函数实现的。 2.2 文档对象 文档对象都是从CDocument类进行派生, CDocument是专门负责文档处理的类。 Cdocument常用方法包括:OnNewDocument、Serialize、SetModifiedFlag、UpdateAllViews 2.2 文档对象 CDocument类常用方法之一: OnNewDocument:其作用是在新文档被创建时被主结构调用。 virtual BOOL OnNewDocument(); 当用户单击【File】菜单的【New】命令时,MFC应用程序框架会自动调用此方法。 此函数是虚函数,用户需要时可以在自己的派生类文档中重写该函数。 重写该函数的操作方法:在创建的MFC应用程序中,单击“类视图” 2.2 文档对象 重写OnNewDocument函数的操作方法: 在创建的MFC
您可能关注的文档
- TS99内审员培训讲义.材料.ppt
- TS99五大核心工具简介材料.ppt
- TSAPQP培训材料.ppt
- 北京好玩儿的地方材料.ppt
- TSMSAtrainingslide(REV)(ok)材料.ppt
- 北京化工大学技术经济学材料.ppt
- TS标准理解材料.ppt
- 北京欢迎你材料.ppt
- 北京交通大学模板材料.ppt
- TS标准条文理解材料.ppt
- 2025年一级建造师考试《水利水电工程管理与实务》冲刺必刷卷.docx
- 2025年一级建造师考试《水利水电工程管理与实务》逆袭破题卷1.docx
- 2025年一级建造师考试《市政工程管理与实务》冲刺必刷卷 .docx
- 2025年一级造价工程师考试《建设工程计价》预习卷.docx
- 2025年一级造价工程师考试《建设工程造价管理》预习卷.docx
- 2025年一级造价工程师考试《建设工程造价案例分析(安装专业)》预习卷.docx
- 2025年一级造价工程师考试《建设工程造价案例分析(土建专业)》预习卷.docx
- 2025年中级会计考试《会计实务》冲刺提分卷.docx
- 2025年中级会计考试《财务管理》冲刺提分卷.docx
- 2025年中级会计考试《财务管理》全真模拟卷.docx
文档评论(0)