C--中文档的操作教程.ppt
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 文档 操作 教程
- 资源描述:
-
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第10章 文档/视图结构的应用程序开发,文档/视图结构是在,Visual C+,中,使用,MFC,开发基于文档应用程序的基本框架。在这个框架中,数据的维护及其显示是分别由两个不同,但又彼此紧密相关的对象文档和视图负责的。,本章将主要围绕这一结构的各个环节展开讨论,因为理解这一结构的原理和机制对基于文档/视结构的,MFC,应用开发具有重要作用。,10.1 文档/视图结构,在本书的第2章中,已经简单介绍了文档/视图结构的基本概念,可以把文档看作是数据容器,而视图则可以看作是查看数据的窗口或是和数据发生交互的窗口。本节对,MFC,中,文档/视图结构的概念及其应用作进一步介绍。,10.1.1 文档/视图结构概述,MFC,文档/视结构是一种新型的应用程序结构,它的优点主要包括:实现了数据存储和显示的分离、提供了常用的标准操作界面以及支持打印预览功能等。,一般情况下,采用文档/视结构的应用程序至少应由以下对象组成:应用程序对象(一般为,CWinApp,派生对象)、框架窗口对象(一般为,CFrmeWnd,派生对象)、文档对象(一般为,CDocument,派生对象)、视图对象(一般为,CView,派生对象)等。,10.1.2 文档/视图结构的分类,有两种类型的文档视结构程序:单文档界面(,SDI),应用程序和多文档界面(,MDI),应用程序。,10.2 文档/视图结构应用程序框架分析,正如前面章节的实例开发所介绍的,使用,AppWizard,可以方便地创建文档/视图结构框架应用程序。本节将主要分析一下单文档应用程序框架的创建过程、结构和工作机制。,10.2.1 利用,AppWizard,创建单文档程序框架,使用,AppWizard,创建单文档程序框架在前面实例中多次用到,其各向导选项采用的是默认设置,本节将详细介绍各向导对话框中选项的含义。,10.2.2 程序框架中的主要类及相互关系,文档/视图结构的应用程序框架中,主要包含5个类:,CWinApp,类、,CFrameWnd,类、,CView,类、,CDocument,类和,CDocTemplate,类。,10.2.3 文档类、视图类核心函数及作用,MFC,在,CDocument,类和,CView,类中提供了一些相对比较重要的函数,它们负责完成二者之间的通信或者为各自提供独立的服务。,CDocument,对象负责读入、保存和管理应用程序的数据。文档类允许向其中增加数据成员,其数据可以是任何类型的,如结构体,类或链表等。,10.2.4 新建、保存和打开的实现,在文档/视图结构的应用程序框架中,默认生成了“文件”下拉菜单,其中“新建”、“保存”和“打开”菜单命令项,系统自动生成了菜单命令的响应流程。,10.2.5 多文档应用程序框架,多文档界面应用程序简称,MDI(Multiple Document Interface),,它允许有多个文档类、视图类和多个文档模板,CMultiDocTemplate,存在,即可以建立多种文档视图子框架窗口的关系。运行时允许打开多个,MDI,子框架窗口,拥有各自的文档和视图对象。(具体内容请参照本书),10.3 文档/视图结构应用程序的开发,本节将开发一个典型的文档/视图结构的绘图程序实例工程,通过实例,讲解有关视图对象和文档对象的具体开发过程和方法。,10.3.1 实现目标,本实例要创建一个单文档绘图程序,通过菜单或者工具栏按钮可以选择绘制直线、矩形和椭圆功能,而后通过鼠标操作实现在客户窗口的绘图。其绘图过程与,Windows,系统提供的绘图程序相似:单击鼠标左键作为绘图起点,拖动鼠标实现实时图形显示,是否鼠标左键后完成绘图操作。,在实现基本功能的基础上,进一步完善程序,实现诸如存档、滚动视图窗口等操作。,10.3.2 创建基本的程序框架,本节实现单文档界面程序框架的创建,并添加必要的菜单和工具栏资源。,10.3.3 创建文档数据,最终用户在客户区绘制图形的数据是在文档类中通过一个链表来记录的。首先定义一个全局的数据结构,CGraph,,,用以记录图形相关的数据。(具体内容请参照本书),10.3.4 在视图类中实现绘图操作,在本书的第5章介绍鼠标编程时,其实例也实现了简单的绘图操作,但是由于其绘制过程在,OnDraw,函数中实现,因此无法实现窗口的重绘。而本实例中,所有的绘图操作均在,CCh10Demo3View,类的,OnDraw,函数中完成。,10.3.5 文档的序列化,序列化是将数据从应用程序写入数据文件或从数据文件读入应用程序的过程。序列化在文档/视图结构中完成,当用户要保存或读出数据时发生序列化过程,当文档数据发生变化时,序列化会提示用户保存数据。,10.3.6 对例程数据进行序列化,在本节,实现对“,Ch10Demo3”,工程绘制的图形对象能够进行存盘操作。(具体内容请参照本书),10.3.7 让文档视结构程序支持滚动条,在前面实现的程序中,用户绘图区域还不能超过可视窗口。本节将实现给客户区窗口添加滚动条。,要通过滚动条滚动显示文档,还必须知道文档滚动到了什么位置;一旦用户拖动滚动条时要告诉视图改变在文档中的相应位置。所有这些,由,MFC,的,CScrollView,类来完成。,10.4 窗口分割与多视,分割窗口将窗口分成几个部分,每个部分通常代表一个视图(也可以是具有子窗口标识的,CWnd,对象),又称窗格,如图10.32所示。如果想在一个窗口里面观察文档的不同部分,或者是在一个窗口里用不同类型的视图(比如用图表和表格)观察同一个文档,那么采用分割窗口是非常方便的。许多优秀的软件都采用了分割窗口技术,因此有必要掌握分割窗口的用法。,10.4.1 窗口分割基础知识,窗口可以实现动态分割和静态分割。(具体内容请参照本书),10.4.2 动态分割窗口的实现,文档/视图结构的应用程序中,实现动态分割窗口,可以有3种方法:(具体内容请参照本书),10.4.3 静态分割窗口与多视图的实现,通过静态分割窗口可以为不同的窗格指定不同的视图,相比动态分割,其实现要复杂一些。(具体内容请参照本书),展开阅读全文

咨信网声明:本文档由用户上传并分享,仅供学习交流、研究之用,未经授权,严禁复制、发行、汇编、翻译或网络传播等,侵权必究。
咨信网小贴示:
1、浏览或下载可查看了解,请点击【咨信网告知】。
2、下载文件中如有侵权或不适当内容,将立即纠正。
3、如果因为网速或其他原因下载失败请重新下载,重复下载[60天内]不扣币。
4、开具发票登录电脑端申请,请点击【索取发票】。
咨信网客服组:【微信客服】
1、浏览或下载可查看了解,请点击【咨信网告知】。
2、下载文件中如有侵权或不适当内容,将立即纠正。
3、如果因为网速或其他原因下载失败请重新下载,重复下载[60天内]不扣币。
4、开具发票登录电脑端申请,请点击【索取发票】。
咨信网客服组:【微信客服】


C--中文档的操作教程.ppt
















自信AI助手














微信客服
客服QQ
发送邮件
意见反馈



链接地址:https://www.zixin.com.cn/doc/14754553.html