- 6
- 0
- 约1.06万字
- 约 27页
- 2017-03-30 发布于北京
- 举报
第六章 文档视图结构 本章主要内容 概述 文档与视图 菜单 概述 文档与视图的作用 文档用于管理应用程序的数据 视图用于显示文档并管理与用户的交互 基于文档/视图结构的应用程序的组成 基于CDocument的文档类 基于CView的视图类 基于CFrameWnd的框架结构类 基于CWinApp的主应用程序类 文档与视图的关系 概述 文档与视图的接口 CView::GetDocument()函数:检索其文档的指针 CDocument::UpdateAllViews()函数:更新与某文档相连的视图 CDocument::OnNewDocument()函数:初始化文档成员 CFrameWnd::GetActiveDocument()函数:从任何CFrameWnd的派生类中,访问目前活动的文档 文档与视图 MFC各对象之间的关系 对象的类型 应用程序对象 框架窗口类 文档类 视图类 标识菜单资源的资源ID 对象的关系 文档中含有该文档的视图列表和指向创建该文档的文档模板指针 视图中含有指向文档的指针,视图窗口是文档边框窗口的子窗口 文档边框窗口含有指向当前活动视图的指针 文档模板含有已打开文档的一个列表 应用程序对象含有文档模板的一个列表 Windows跟踪所有已打开的窗口并发送消息给这些窗口 说明: 所有这些关系都是在文档和视图的创建过程中建立的。通过调用全局函数AfxGetApp,任何对象都可获得指向应用程序对象的指针 对象的访问方式 文档与视图 文档类 基本概念 所谓文档,是用户可以在应用程序中保存并在以后恢复的信息 文档对象负责载入、存储和保存数据 文档类的处理操作 从CDocument类派生出各种不同类型的文档类 添加用于存储文档数据的成员变量 在文档类中重载CDocument类的成员函数,该函数是用于从磁盘读文档数据并把文档数据存入磁盘中 若需要,还可重载CDocument类的其他成员函数 文档与视图 文档的串行化 基本概念 用户处理的数据往往需要存盘作永久备份,这种将文档类中数据成员变量的值保存在磁盘文件中,或者将存储在文档文件的数据读取到相应的成员变量中的过程,就称为文档的串行化(Serialize) 串行化的实现 若要实现文档数据的串行化,就必须在文档类中重载CDocument类的成员函数Serialize,以便传送数据给与文件链接的CArchive(归档)类对象,其函数代码如下: void CEx_FloatMenuDoc::Serialize(CArchive ar) { if (ar.IsStoring( )) //当文档数据需要存盘时,CArchive成员函数IsStoring返回TRUE { // TODO: add storing code here } else //当文档数据需要读取时,CArchive成员函数IsStoring返回FALSE { // TODO: add loading code here } } 说明:上述Serialize函数中,ar是CArchive类的对象,它不仅为磁盘文件的CFile对象缓存数据,而且在应用程序中还保存一个内部标记,用来标识“归档”(Archive)是存入(写盘)还是载入(读盘),且每次只有一个活动的归档与文件相连 文档与视图 视图类 基本概念 所谓视图,是信息呈现给用户的方式,它以图形方式显示文档数据、接受用户输入并将其解释成对文档的操作 视图类负责显示和修改存储在文档对象中的数据 视图对象保存指向文档类对象的指针,使其可访问文档的成员变量,以显示和修改这些变量 视图类的处理操作 处理视图类的OnDraw成员函数,该函数负责提供文档数据 将Windows消息和用户界面对象(如菜单项)与视图类中的消息处理函数连接 实现消息处理函数,以解释用户的输入 根据需要,在派生的视图类中重载CView的其他成员函数 CView(视图)类的派生类? 视图中的绘制 函数OnDraw的作用 多数应用程序的绘制工作都是在视图的OnDraw函数中实现的,因此必须在视图类中重载OnDraw函数,该函数通过调用文档成员函数获取文档数据,并通过调用传给OnDraw的设备文本对象的成员函数来显示数据,其函数代码如下: 文档与视图 void CEx_FloatMenuView::OnDraw(CDC* pDC) { CEx_FloatMenuDoc* pDoc = GetDocument( ); ASSERT_VAL
您可能关注的文档
- 第六单元 正常分娩剖释.doc
- 第六讲 下肢应用解剖解析.ppt
- 第六讲 反应器单元的仿真设计(一)解析.ppt
- 第六讲 弗洛伊德主义剖释.doc
- 第六讲 神经网络解析.ppt
- 第六讲SOPC系统设计实例解析.ppt
- 第六讲-队列解析.ppt
- 第六节 经期延长1解析.ppt
- 第六节 GDAL的使用与图片的显示剖释.doc
- 第六章 知识的学习剖释.doc
- 浙江省温州市2024-2025学年七年级上学期语文期末考查卷.docx
- 精品解析:北京市建华实验学校2024-2025学年七年级下学期期中英语试题(原卷版).docx
- 精品解析:北京市通州区2024-2025学年七年级下学期期末考试英语试卷(原卷版).docx
- 精品解析:北京市回民学校2024-2025学年九年级上学期期中语文试题(解析版).docx
- 精品解析:北京市海淀区2025-2026学年九年级上学期期末语文试题(解析版).docx
- 精品解析:北京市东城区汇文中学2025-2026学年八年级上学期期中语文试题(原卷版).docx
- 精品解析:北京市回民学校2024-2025学年九年级上学期期中语文试题(原卷版).docx
- 精品解析:2024-2025学年广东省广州市从化区街口镇中心小学人教版五年级上册期中测试数学试卷(解析版).docx
- 精品解析:北京市通州区2024-2025学年七年级下学期期末考试英语试卷(解析版).docx
- 精品解析:北京市建华实验学校2024-2025学年七年级下学期期中英语试题(解析版).docx
最近下载
- 2025年青岛电影学院教师招聘考试笔试模拟试题及答案解析.docx VIP
- 市政工程监理质量评估报告.docx VIP
- “学校青年教师专业发展路径研究”课题申报书.doc
- SLT 791-2019 -水库降等与报废评估导则.pdf VIP
- 邹仲之《组织学与胚胎学》9眼和耳01.ppt VIP
- 《论语》十二章理解性默写(带答案).pdf VIP
- X商业银行金融科技人才招聘管理优化研究.pdf VIP
- 邹仲之《组织学与胚胎学》25泌尿系统和生殖系统的发生.ppt VIP
- 《富致秘录》中源线建仓法(陈雅山 著 王明森 点校).pdf VIP
- 关于《宁波大学本科课程考核及成绩管理办法》的修订说明.doc VIP
原创力文档

文档评论(0)