1 / 31
文档名称:

《文档视图结构》.ppt

格式:ppt   大小:2,777KB   页数:31页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

《文档视图结构》.ppt

上传人:相惜 2024/4/16 文件大小:2.71 MB

下载得到文件列表

《文档视图结构》.ppt

相关文档

文档介绍

文档介绍:该【《文档视图结构》 】是由【相惜】上传分享,文档一共【31】页,该文档可以免费在线阅读,需要了解更多关于【《文档视图结构》 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。第7章文档视图结构——定制程序框架,张扬应用程序个性编辑课件教学内容§§§§§——宾馆管理系统的完善§§§,文档、框架窗口与视图通过文档模板联系在一起。文档模板负责在运行时创立〔动态创立〕文档、视图和框架窗口。一个应用程序对象可以管理一个或多个文档模板,每个文档模板用于动态创立和管理一个或多个同类型的文档〔这取决于应用程序是SDI程序还是MDI程序〕。MFC的文档模板类CDocTemplate用于支持文档模板操作。由于文档模板类是一个抽象基类,因此不能直接用其声明对象,只能使用其派生类。对于单文档界面程序,应使用CSingleDocTemplate〔单文档模板类〕,对于一个多文档界面程序,使用CMultipleDocTemplate〔多文档模板类〕。编辑课件§、文档类的成员函数◆获得视图列表中与本文档关联的第一个视图的位置函数:virtualPOSITIONGetFirstViewPosition()const;◆获得下一个本文档关联的视图的位置到rPosition中:virtualCView*GetNextView(POSITION&rPosition)const;显然,使用GetFirstViewPosition与GetNextView可遍历文档的所有视图。◆返回文档(窗口)的标题,一般为相关联的文件名constCString&GetTitle()const;◆设置文档(窗口)的标题virtualvoidSetTitle(LPCTSTRlpszTitle);◆返回与文档相关联的文件的路径,无关联文件时返回NULLconstCString&GetPathName()const;编辑课件§、文档类的成员函数◆设置存取文档的默认路径〔与文档(窗口)的标题〕virtualvoidSetPathName(LPCTSTRlpszPathName,BOOLbAddToMRU=TRUE);◆判断文档在最后一次存储后是否被修改正,假设被修改正,那么在用户关闭文档窗口或应用程序时,会提示保存文件BOOLIsModified();◆设置文档在最后一次存储后是否被修改正voidSetModifiedFlag(BOOLbModified=TRUE);◆更新所有视图voidUpdateAllViews(CView*pSender,LPARAMlHint,CObject*pHint);编辑课件§、文档的序列化用户处理的数据往往需要存盘作永久备份。将文档类中的数据成员变量的值保存在磁盘文件中,或者将存储的文档文件中的数据读取到相应的成员变量中。这个过程称为序列化(Serialize)。序列化实质上就是让对象将其当前的状态〔由其成员变量的值表示〕写入到永久性存储体〔通常是指磁盘〕中,以后还可以从永久性存储体中读取对象的状态〔载入〕,从而重建对象。这种对象的保存和恢复的过程称为“序列化〞。序列化是一种实现对象持久性〔Persistent〕的机制,它是一个将对象中的数据转换成一个单一元素〔通常是Stream〕的过程。编辑课件§、文档的序列化用户单击菜单项“文件|保存”用户单击菜单项“文件|另存为…”打开当前文档所对应的文件询问保存文件名生成Carchive的一个对象,并使之与所保存的文件相关联打开用户输入的文件调用文档类的Serialize成员函数,并将生成的Carchive对象传递给该成员函数Serialize成员函数通过CArchive对象将当前文档的数据保存到指定的介质(通常是磁盘文件)中编辑课件§§、CView类CView是用户视图类的缺省基类,也是其他各种MFC视图类的基类。视图类CView是窗口类CWnd类的派生类。视图类对象完全覆盖框架窗口的用户区,没有自己的边框。视图规定了用户查看文档数据以及同数据交互的方式。视图类有几个重要的成员函数。GetDocument〔〕成员函数用于从文档类中获取数据值。实际上,该函数提供一个指向文档派生类对象的指针,通过该指针可访问文档派生类的公有成员。例如:GetDocument()?>AddBubble(rectBubble);正因为如此,文档类的数据成员只能声明为公有的,而不能象面向对象技术所要求的那样,将所有的数据成员均声明为私有成员。由于文档类和视图类的关系十分密切,这样做可以简化程序设计,并不会因封装性被破坏而造成混乱。在视图类中,用OnDraw〔〕成员函数更新视图,其用法类似窗口类的OnPaint〔〕函数。所不同的是,OnDraw〔〕函数有一个指向CDC类的指针参数,通过该参数可以直接向视图输出。编辑课件

最近更新

小学六年级英语上册期末测试题 5页

槽式太阳能聚光器多场耦合分析与结构优化的开.. 2页

棉纺企业原料管理信息系统研究与开发开题报告.. 2页

2024年总经理秘书求职信 4页

桥基荷载作用下三维高边坡岩体力学行为及桥基.. 2页

桃红四物汤联合Q开关ND-YAG激光法治疗黄褐斑(.. 2页

2024年思维创新大赛策划书 11页

2024年思想作风教育整顿工作总结(精选14篇).. 47页

柱塞表面激光熔覆组织性能研究及应用的开题报.. 2页

某高速公路路基岩溶特征与处置方法研究的开题.. 2页

某市特警支队装备管理系统的设计与实现的开题.. 2页

2024年快乐的端午节记叙文 4页

林改背景下湖南林业政策性森林保险实施情况的.. 2页

李纯甫文学思想研究的开题报告 2页

2024年心灵美才是人真正的美丽的句子 8页

2024年心情不好的伤感的说说 38页

最佳解释推理对科学实在论的辩护的开题报告 2页

小学二年级下学期评语集锦 4页

2024年录取通知书范文 17页

映电总厂安全管理体系研究与实践的开题报告 2页

小学三年级竖式脱式计算题假期作业练习题直接.. 49页

明代蝗灾与社会应对的开题报告 2页

昆明市住房分类供应体系现状和对策研究中期报.. 2页

健身房工作总结 3页

测量学的发展历史 30页

2023年内部控制会议纪要三篇 4页

注浆工试题答案 3页

农房一体发证业务培训 3页

心怀“国之大者”党课讲稿 4页

床椅转移操作流程 2页