下载此文档

《文档视图结构》.ppt


文档分类:IT计算机 | 页数:约31页 举报非法文档有奖
1/31
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/31 下载此文档
文档列表 文档介绍
该【《文档视图结构》 】是由【相惜】上传分享,文档一共【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类的指针参数,通过该参数可以直接向视图输出。编辑课件

《文档视图结构》 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数31
  • 收藏数0 收藏
  • 顶次数0
  • 上传人相惜
  • 文件大小2.71 MB
  • 时间2024-04-16