OLE项目出入数据表控制方法设计说明书.doc
文本预览下载声明
OLE项目出入数据表控制方法设计说明书
1 需求分析
1.1 设计需求
随着计算机技术应用的普及,对于文件的管理要求也越来越高 ,因此设计一个能够管理Word文档和Excel文档文件管理器是非常有必要的。
本次课题是设计思想是把一个Word文档或Excel文档数据写入数据表,或从数据表把一个Word或Excel文档读入到应用程序文档;并且在应用程序中嵌入Word或Excel应用程序界面。
首先进行复合文档操控基本实验,体会OLE(对象链接与嵌入)项目的使用方法:插入一个OLE对象,激活OLE对象,提取OLE对象的文档数据。再使用框架客户区切分方法进行应用程序的界面设计。将应用程序主框架客户区设计为:文档类型视图、数据表视图、OLE项目视图(OLE项目激活窗口)。当文档类型视图确定一种文档类型后,存在于数据表中的此类文档行全部罗列于数据表视图的表格控件中;当双击表格控件的数据行时,从数据表中读取一个OLE项目数据,并在位激活。所以还要按类型编码、文档编号、文档摘要、文档录入日期、文档数据量和文档数据创建Access数据表。在应用程序的功能设计方面,要求应用程序能够对文档进行设计新建文档、保存文档、删除文档功能。
1.2 设计思路
此次课程设计的应用程序界面应该包含有三大视图: 文档类型视图、数据表视图、OLE项目视图。如下图所示。
图1-1 应用程序界面模式
(1)文档类型视图区设置为一个CTreeCtrl视图对象(树型视图),把文档类型分为如下三种:
普通文档类(01):Word文档(01);Excel文档(02);
技术文档类(02):Word文档(01);Excel文档(02);
重要文档类(03):Word文档(01);Excel文档(02);
(2)数据表视图区设置一个CMSFlexGrid模式视图对象,数据项包括:文档类型码;文档摘要;文档录入时间;文档数据量/M。
(3)OLE项目视图区用于显视当前激活的OLE项服务服务窗口中,在没有OLE项目激活时为应用程序视图,即CVckcsj09View类对象。
Visual C++程序设计语言中为用户集成了COleDocument文档类,此类的作用为管理和操控其他应用程序的文档,即COleDocument类是复合文档类(容器文档类),它可以包容Word、Excel等其它应用程序的文档,被容入的文档对象称为OLE项目。也就是说如果COleDocument类对象包容有Word或Excel的文档,那么就可以在其视图中激活其文档对应的服务程序——调入并运行Word或Excel文档对象所对应的Word或Excel程序来处理文档。假设我们在COleDocument类对象中嵌入的OLE项目是一个Word的文档,就可以在应程序的视图中激活Word应用程序来编辑OLE项目数据。
如果新建一个OLE项目文档时,当在文档类型视图确定一种文档类型后,会在数据表视图的CMSFlexGrid控件窗口中增加一条数据行记录,并自动确定该文档的文档编号,然后选择所要创建的文档类型,这样相应的服务程序在应用程序视图中被激活了,我们也就能通过该应用程序来编辑OLE项目数据。在保存文档数据时,从COleDocument类对象找出当前操作的OLE项目,使用数据串行化功能,获得OLE项目的文档数据,将文档数据写入我们指定的介质中。如果需从存储介质中读取一个OLE项目文档,仍然是通过OLE项目的串行化功能读回数据,并嵌入到应用程序文档中,同时进行在位激活工作。为了给文档管理器应用程序提供一个Word或Excel文档的保存介质,我们使用Access数据表,我们把Word或Excel应用程序的文档数据写入数据表中,或从表中把文档数据读入应用程序的COleDocument类对象中。
1.3用户操作控制流程
当文档类型视图中树型控件选项发生改变,提取由父项与子项文本前个数字组成4字符的类型码,将这个类型码发送给数据表视图窗口,或直接调用数据表视图的函数,数据表视图从数据表中找出与类型码一致的所有数据行,并显示到数据表视图的CMSFlexGrid控件窗口中。
当数据表视图的CMSFlexGrid控件的行上发生双击事件,则从数据表中读取OLE项目文档数据进入应用程序文档,由于OLE项目视图为CVckcsj09View类对象,所以应用程序文档中的OLE项目的服务程序只能在这个视图区域内激活。
需要保存当前激活的OLE项目时,先将一个OLE项数据数据通过其自身的Serialize函数读取数据到共享文件里,然后将共享文件写入数据表中。
2 功能设计与实现方法
2.1总体功能结构图
图2-1总体功能结构图
2.2 应用程序直接读入文档文件
运行应用程序之后,鼠标左键单击菜单栏的“文件”选项,然后选择下拉框中的“打开”选项,然
显示全部