第5章 文档与视图结构ppt课件.ppt

第5章 文档与视图结构ppt课件.ppt

ID:58700057

大小:920.00 KB

页数:124页

时间:2020-10-04

第5章 文档与视图结构ppt课件.ppt_第1页
第5章 文档与视图结构ppt课件.ppt_第2页
第5章 文档与视图结构ppt课件.ppt_第3页
第5章 文档与视图结构ppt课件.ppt_第4页
第5章 文档与视图结构ppt课件.ppt_第5页
资源描述:

《第5章 文档与视图结构ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第五章文档与视图结构5.1学生档案管理系统5.2文档/视图的概念5.2.1文档文档类:继承于类CDocument,描述了应用的数据。文档是一个CDocument派生对象,它负责存储应用程序的数据,并把这些信息提供给应用程序的其余部分,即负责管理和维护应用的程序。CDocument类对文档的建立及归档提供支持并提供了应用程序用于控制其数据的接口5.2.2视图视图类:继承于视类Cview,是基于Cview的一个窗口视图是数据的用户窗口,为用户提供了文档的可视的数据显示5.2.3文档与视图关系每个文档都会有一个或多个视图显示,一个文档可以有多

2、个不同的视图文档用来保存数据,视图用来显示数据,视图是显示的文档在"文档/视图"架构中,文档负责管理和维护数据;而视图类则负责如下工作:(1)从文档类中将文档中的数据取出后显示给用户;(2)接受用户对文档中数据的编辑和修改;(3)将修改的结果反馈给文档类,由文档类将修改后的内容保存到磁盘文件中。文档负责了数据真正在永久介质中的存储和读取工作,视图只是将文档中的数据以某种形式向用户呈现,因此一个文档可对应多个视图在文档/视图结构里,文档可视为一个应用程序的数据元素的集合,MFC通过文档类提供了大量管理和维护数据的手段。视图是数据的用户界面

3、,可将文档的部分或全部的内容在其窗口中显示,或者通过打印机打印出来视图还可以提供用户与文档中数据的交互功能,将用户的输入转化为对数据的操作文档视图结构介绍在MFC中有两种类型的文档视图结构单文档界面(SDI:SingleDocumentInterface)应用程序多文档界面(MDI:MultipleDocumentInterface)应用程序文档视图结构介绍(续)单文档界面(SDI)应用程序中,用户在同一时刻只能操作一个文档,在SDI程序中,打开新文档时会自动关闭当前打开的活动文档,如果当前文档修改后尚未保存,会提示用户是否保存所做修改

4、多文档界面(MDI)应用程序允许同时对多个文档进行操作,在MDI程序中,可以打开多个文档,可以通过切换活动窗口激活相应的文档进行编辑处理文档试图结构的特点将对数据的操作与数据的显示界面分离,放在不同类的对象中处理。这种思想使得程序模块的划分更加合理。文档对象只负责数据的管理,不涉及用户界面;视图对象只负责数据输出和与用户的交互,可以不考虑数据的具体组织结构的细节MFC在文档/试图结构中提供了许多标准的操作界面,大大减轻了程序员的工作量支持打印、打印预览和电子邮件发送功能。程序员只需编写很少的代码甚至根本无需编写代码,就可以为应用程序提供

5、“所见即所得”式的打印和打印预览这类功能使用AppWizard可生成基于文档视图结构的SDI或MDI框架程序,程序员只需在其中添加与特定应用有关的部分代码,就可以完成应用程序的开发工作5.2.4文档与视图的交互过程文档与视图之间的交互过程是比较复杂的,其中4个函数起了关键作用1.Cview类的GetDocument()函数:使用户得到指向与当前视图相联系的文档的指针,从而利用该指针来访问文档的数据,使文档能及时反映视图数据的变化.例:CMyHelloDoc*pDoc=GetDocument();ASSERT_VALID(pDoc);例:

6、ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CMySdiDoc)));Return(CMySdiDoc*)m_pDocument;2.CDocument类的UpdateAllViews()函数:使视图能及时反映文档数据的变化.原型为:voidUpdateAllViews(Cview*pSender,LPARAMlHint=0L,Cobject*pHint=NULL);调用形式:UpdateAllViews(NULL);GetDocument()->UpdateAllViews(this);3.C

7、view类的OnUpdate()函数:当被调用时,对文档类进行访问,读取文档数据,刷新视图原型:virtualvoidOnUpdate(Cview*pSender,LPARAMlHint,CObject*pHint);4.Cview类的OnInitialUpdate()函数:当APP被启动或用户选择了打开或新建OnInitialUpdate()函数被调用.Cview类中的该函数只是调用了OnUpdate()函数,用户要对派生的OnInitialUpdate()函数进行初始化,则可以调用基类的该函数,也可以直接调用派生类的OnUpdate

8、()函数5.3单文档应用程序(SDI)5.3.1创建工程创建exe程序选择Singledocument接受默认的“None”选项接受默认设置接受默认设置接受默认设置选取CFormView作为视图基类,然后单

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。