




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、文档资料管理系统的设计与实现利用本系统可以管理自己的各种资料(文本的和电子的),对每一份资料均有 命名,对所有的资料进行归类,指明各资料的存放位置,可以给每一份资料指明 关键字,便于用户查找资料。若是电子资料(如电脑上的文件),可以通过鼠标 点击直接打开文件。整个系统实现了最初设计的各种功能,并能够快速方便的帮 助用户查找到需要的资料信息,整个操作界面简洁和实用。论文总页数:20页 TOC o 1-5 h z 1引宣1 HYPERLINK l bookmark2 o Current Document 2设计理论依据1 HYPERLINK l bookmark4 o Current Docume
2、nt 1 MFC 简介1 HYPERLINK l bookmark6 o Current Document 2 XML 介绍2 HYPERLINK l bookmark8 o Current Document 3文档资料管理系统简介4 HYPERLINK l bookmark10 o Current Document 1系统开发背景4 HYPERLINK l bookmark12 o Current Document 2系统开发环境5.2.1系统软件环境5. 2. 2工具简介5 HYPERLINK l bookmark14 o Current Document 3系统概述5 HYPERLINK
3、 l bookmark16 o Current Document 4文档资料管理系统的设计6 HYPERLINK l bookmark18 o Current Document 1系统需求分析及功能设计6 HYPERLINK l bookmark20 o Current Document 2 XML存储结构的设计7 HYPERLINK l bookmark22 o Current Document 3用户界而和事物处理123. 1用户界面123. 2事务处理13 HYPERLINK l bookmark24 o Current Document 5软件测试15结 论18参考文献18第17页共2
4、0页当今世界是飞速发展的信息时代,在各行各业中离不开信息处理,这正是 计算机被广泛用于管理系统的环境。计算机的最大好处在于利用它能够进行信 息管理。但是在众多的资料中,如何规范,准确,快速,全面的管理自己的资 料,如书籍,电子资料等,并且方便自己查阅。使用计算机进行信息管理控制, 不仅提高了工作效率,而且大大提高了其安全性。本系统就是为了管理好自己 的各种有用资料信息而设计的。面对各种繁多的资料,很多人是没有进行合理的分类整理和建立一个资料 管理系统来管理它们,有时候在手头研究需要一些资料的时候往往是靠记忆来 寻找,但是这样做会浪费很多时间和精力。由于数据繁多容易丢失,且不易查 找。总的来说缺
5、乏系统,规范的信息处理手段。尽管我们有计算机,但是尚未 用于信息管理,没有发挥它的效益,资料闲置比较突出,就是管理信息开发的 基本环境。基于此类问题,我认为有必要建立一个资料管理系统,使资料管理 工作规范化,程序化,避免资料管理随意性,提高信息处理的速度和准确性, 能够及时、准确、有效的查询和修改资料情况。本次毕业设计是在老师指导下自己独立完整的进行软件的设计,程序编写, 调试等工作。通过自己对整个流程的设计和实现,能够完成最初提出的要求, 也对一些功能进行了扩展和加深。利用文档资料管理系统能够比较完善的管理 自己的资料,也能比较快速的找到自己以前看过或是记录下的资料,使用起来 也很方便,快速
6、。2设计理论依据MFC简介MFC微软基础类(Microsoft Foundation Classes),实际上是微软提供的, 用于在C+环境下编写应用程序的一个框架和引擎。MFC就是挂在它之上的一个 输助软件开发包,MFC作为与VC+血肉相连的部分(注意C+和VC+的区别:C+ 是一种程序设计语言,是一种大家都承认的软件编制的通用规范,而VC+只是一 个编译器,或者说是一种编译器+源程序编辑器的IDE,WS,PlatForm),MFC同 BC+集成的VCL 一样是一个非外挂式的软件包,类库,只不过MFC类是微软为 VC+专配的.MFC是Win API与C+的结合,API,即微软提供的Winos
7、下应用程序的编程 语言接口,是一种软件编程的规范,但不是一种程序开发语言本身。MFC不只是 一个功能单纯的界面开发系统,它提供的类绝大部分用来进行界面开发,关联一 个窗口的动作,但它提供的类中有好多类不与一个窗口关联,即类的作用不是一 个界面类,不实现对一个窗口对象的控制(如创建,销毁)MFC中的各种类结合起来构成了一个应用程序框架,它的目的就是让程序 员在此基础上来建立Windows下的应用程序。MFC框架定义了应用程序的轮廓, 并提供了用户接口的标准实现方法,程序员所要做的就是通过预定义的接口把 具体应用程序特有的东西填入这个轮廓。Microsoft Visual C+提供了相应的 工具来
8、完成这个工作:AppWizard可以用来生成初步的框架文件(代码和资源 等);资源编辑器用于帮助直观地设计用户接口; Class Wizard用来协助添加 代码到框架文件;最后,编译,则通过类库实现了应用程序特定的逻辑。XML介绍XML是Extensible Markup Language的缩写,即可扩展标记语言是一种您 可以用来创建自己标记的标记语言。它由万维网协会(W3C)创建,用来克服HTML (即超文本标记语言(Hypertext Markup Language),它是所有网页的基础) 的局限。和HTML 一样;XML基于SGML 一 标准通用标记语言(Standard General
9、ized Markup Language) XML实际上是Web上表示结构化信息的一种标 准文本格式,它没有复杂的语法和包罗万象的数据定义。XML同HTML一样,都 来自SGML(标准通用标记语言)。SGML是一种在Web发明之前就早已存在的用标 记来描述文档资料的通用语言。但SGML十分庞大且难于学习和使用。鉴于此, 人们提出了 HTML语言。但近年来,随着Web应用的不断深入,HTML在需求广 泛的应用中已显得捉襟见肘,有人建议直接使用SGML作为Web语言。但SGML 太庞大了,学用两难尚且不说,就是全面实现SGML的浏览器也非常困难。于是 Web标准化组织W3C建议使用一种精简的SGM
10、L版本XML。XML与SGML 一样, 是一个用来定义其他语言的元语言。与SGML相比,XML规范不到SGML规范的 1/10,简单易懂,是一门既无标签集也无语法的新一代标记语言。可以说,XML 的出现给数据交换带来了一场革命;XML的出现是至今为止最聪明的一种符号 化语言;XML成为下一代网络发展的基石。XML作为引人注目的核心技术应用于BtoB、Web服务、.NET等许多系统中。 XML可以作为电子数据交换的统一格式,用XML可以对数据关系进行定义形成 特有的标准,因此各行各业都在建立自己的行业化标准,以应用于网络上处理 电子商务,把后台系统通过Web站点表现出来。XML还可以作为数据仓储
11、,一 个XML文件就是一个小的数据库,通过对数据关系的定义形成各种关系、属性 的数据,实现数据交换、上下文检索、多媒体传输。XML具有其他方法所不具 备的数据描述特点XML是以文本形式来描述的一种文件格式由于XML是以文本 形式描述的,所以适合于各种平台环境的数据交换。同样由于使用文本来描述 内容,可以越过不同平台的障碍进行正常的数据交换。但是,文本形式也会因 为文字代码的不同造成不能阅读的问题,在这一点上XML有着非常完美的解决 方案。XML使用有意义的标记(Tag)在XML中文件是由一个个称之为元素 (Element)的部件构成。使用标记(Tag)来描述元素。由于使用了标记的描 述方法,可
12、以保持原数据的意思和构造在互联网上进行数据交换,进而可以保 持不同系统之间数据交换的灵活性。可以说,XML是“定义语言的语言”,也即是一种元语言。由于XML具有元 语言的功能,所以可以成为描述电子商务数据、多媒体演示数据、数学公式等 各种各样数据应用语言的基础语言。下面提供几个以XML为基础生成的数据描 述语言(本文亦称为XML应用语言)的应用例子,即出版媒体:Open eBook (电 子书籍)、NewsML (新闻媒体);科学:MathML (数学表达式)、CML (化学);电 子商务:cXML (电子商务)、FpML (金融);多媒体:SMIL (多媒体演示)、BML (卫星数据传送)。
13、XML是描述内容的数据格式,在使用XML数据时,还需要XML数据的显示、 打印、数据结构的变更等许多相关技术。如果这些相关技术也都标准化的话, 即使在不同平台开发应用程序也都可以用相同的方法,使开发难度降低。处理 XML数据时,一定要使用XML Processor (也就是XML Parser),把XML数据结 构的检查等交给XML Parser去做。应用程序对接收到XMLProcessor传递来的 XML树进行处理,向用户提供服务。此时,不管是电子商务,还是知识管理, 都是定义XML数据结构的技术、显示打印XML数据的技术、XML数据结构变更 技术、XML数据联接整合技术、用程序操作XML树
14、的API和其它应用技术的组 合。在XML中用户可以自由的定义标记名以及与标记相关的元素及元素层次, 这是XML的主要特征。但是,如果定义的都是只有自己才能理解的标记,就无 法与其他人进行交换数据。为了在企业团体之间进行XML格式的数据的交换, XML数据的结构、元素的名称、元素的数据类型以及元素的亲子关系都需要仔 细考虑,一定要设计成人和系统能够理解的语言。这样设计的XML数据结构在 XML领域称为Schema,描述Schema的语言称为Schema语言。DTD是最普通XML 的 Schema 语言是 DTD (Document Type Definition:文档类型定义)。DTD 是远 在
15、SGML时期就一直使用的Schema语言,1998年制订XML语法时,沿用了描述 Schema的DTD。XML Schema中有下述DTD中不具备的特征:多个Schema复合 使用XML名字空间;用XML语法描述;可以详细定义元素的内容及属性值的数 据类型。由于在XML Schema中的数据结构也都是用XML数据来表现的,与DTD 相比数据量增大很多。但是,XMLSchema的表现力要远比DTD强得多,不仅支 持字符串、10进制数、浮动小数点、日期等,还支持m回以上和n回以下出现 的元素(m、n为整数)的指定。例如“邮编xxxxxx(x是字符)是邮政编码 元素的格式指定等都是DTD所不能表现的
16、内容。XML Schema于2001年5月成 为W3c的推荐规范,对XML的利用产生了重要的影响。XML作为数据描述语言是非常优秀的,但是并不是所有的电子数据都是转 换到XML是最有效的。例如XML的文本表现手法、标记的符号化等会导致XML 数据比二进制表现方法数据量增加,尤其当数据量很大时,会成为很大的问题。 也就是说,XML的导入要根据具体需求,比较其优缺点,在充分发挥XML优点 的领域进行。尽管XML具备了作为通用数据描述语言的优秀特征,但是XML不 是编程语言,说到底它是一种数据描述的技术。因此XML文件的显示、文件结 构的变更、应用程序的操作等XML相关技术也是非常重要的。随着计算机
17、和网络技术的不断发展深入XML技术的应用也将不断扩大。该 技术不仅在传统的银行之间数据交换、证券公司对上市公司情况的数据统计、 图书馆对图书的查询检索、企事业文件档案管理等领域的应用更加迫切,在电 子商务、搜索引擎软件、自动智能翻译、文档发声软件等领域也将得到更大的 发展,特别是近期发展起来的移动通讯网络服务的发展,将使各种各样的信息 经过格式转换到达PDA、甚至到达手持电话机,将来我们可以通过网络数据格 式转换服务使小小的手机可以阅读到大千世界的丰富信息。3文档资料管理系统简介3.1系统开发背景本文档资料管理系统是为个人管理自己的各种资料的一个基于Windows XP 系统的一个应用软件.现
18、在也有很多的资料管理系统,其中都是一个运用界面和 逻辑接口嵌入一个数据库,这样在编写软件的时候也很方便和快速。但是对于 编程人员来说,利用别的工具来实现自己的东西总是不好的事,尤其对于我们 这种经验不足的人来说,尤其是不好的事情。因此我就想自己编写一个储存结 构来代替数据库。因为在以前学习过XML知道用它可以实现数据的存储功能, 于是决定利用它编写文件存储结构来实现本系统的数据存储。现在人们有了电脑,对于存储自己需要的资料有了一个好的地方,但是如 何能够有效的把日益增多的这些各种资料管理起来,能够方便需要的时候取出 来,这是一个难题;对于一些以前看过的书,如何在以后突然需要的时候,快 速的找到
19、它的摆放位子?这些都是开发本资料管理系统的一个原因。为了管理 个人的资料例如:电子资料,纸版资料等不同的资料并对所有的资料进行归类, 如划分为VC+资料,windows类资料,健康类资料等。当这些资料经过科学的 分类,并把各种不同属性的资料各类管理起来,这样就实现了对资料的有效管 理,也方便了用户在需要的时候很快能够找到想要的资料,节约了很多人力物 力和精力。3. 2系统开发环境3. 2.1系统软件环境本系统采用的软件工具有:操作系统:Windows XP开发环境:VC+6. 03. 2. 2工具简介VC+6.0在提供可视化的编程方法的同时,也适用于编写直接对系统进行 底层操作的程序,其生成代
20、码的质量要优于很多其他的开发工具。VC+6.0所 提供的基本类库MFC,对Windows所用的Win32应用程序接口进行了十分彻底 的封装,这使得开发人员可以使用完全面向对象的方法来进行Windows编程, 从而大大节省了应用程序的开发周期,降低了开发成本。而且,其强大的调试 功能也为大型复杂软件的开发提供了有效的排错手段。随着多媒体技术和图形图像技术的不断发展,可视化技术得到了广泛的重 视,愈来愈多的人开始研究并应用可视化技术。所谓可视化技术,一般是指软 件开发阶段的可视化和对计算机图形技术和方法的应用。VC+是一个很好的可 视化编程工具,使用VC+环境来开发基于Windows的应用程序,其
21、界面更友好, 便于程序员操作。开发环境是程序员同VC+的交互界面,通过它程序员可以访 问C+源代码编辑器、资源编辑器,使用内部调试器,还可以创建项目文件3系统概述软件主要提供的功能包括:资源管理方面一一添加资源,删除资源;资源浏 览一一按照目录,按照搜索。因此把软件大体分成三个部分进行实现:第一部分: 用户界面。包括整个程序的框架,以及用户操作的接口设计等即就是实现用户界 面的部分.第二部分:用于处理事务的模块.包括用户添加,删除,修改资源,用 户通过目录浏览,通过搜索找寻,通过自己的收藏夹进行资源管理等业务逻辑的 实现。第三部分:用于进行数据物理存储的模块。使用XML文档进行数据的存储, 所
22、以在实现的过程中,XML的操作成为了这个模块的主要工作。文档资料管理系统是为个人管理自己的各种资料的软件,首先将资料分为电 子资料和非电子资料;电子资料主要包括自己电脑上面储存的例如:电子文档, 电子书籍,影像资料等各种电子资料。非电子资料包括书籍,影碟,光碟等实物 资料;对每一份资料均有命名,可以使用书名来指代这本书,也对每一份资料加 了关键字和注释,便于后面需要时候准确的找到需要的资料。对所有的资料进行 归类,如划分为VC+资料,windows类资料,影像类资料等;指明资料的存放位 置,若是电子资料(如电脑上的文件),可以通过鼠标点击直接打开文件,对于 非电子资料和非本机子上的资料,在注释
23、内注明其放置的位子,便于快速找到自 己需要的资料;系统也有增加,删除,修改等工具条:增加是在有新资料需要用本 系统管理的时候,可以通过它来增加。删除是对无用的资料进行删除。修改是需 要对已有的资料增加一些说明的。另外也有目录,搜索和收藏夹等功能。系统也 在最下面的窗口有一个对选中的资料有一个类似统计的显示,便于使用者,更加 方便的使用本系统。4文档资料管理系统的设计系统需求分析及功能设计随着信息时代的来临,电脑用户的资料日益增多,而这些资料可能有着不 同的特点。比如,它可能是一本书,也可能是一张光碟,也可能是个电子文档。 如果稍有疏忽,资料的存放位置失去了某些特征,例如,某些电子文档你可能 放
24、到了一个目录下,而另外一个文档你却放到了其它的目录下。当你需要的时 候,将难于准确迅速的找到,更谈不上有效的查询和管理了。总之,资料属性 的多元化和数量的增多给管理这些资料带来了很多不便。文档资料管理系统的设计目标正是为了解决这些问题。它将满足用户对资 源的管理:增加,删除,修改,搜索及查看资源。具体说来,该系统将具备下 面的功能:(1)增加资源一一用户能够添加一个资源,该资源可以是电子资源(比如 pc上某个目录下的一张图片)或者是非电子资源(例如书桌上的本书)。添加 该资源后,用户将可以通过该系统直接管理和使用该资源。(2)删除资源一一用户能够将系统中的某个资源删除掉,从而放弃系统对 该资源
25、的管理。(3)修改资源一一当某个资源的属性发生变化的时候(例如存放位置发生 变化),用户能够选中某个资源,对其属性进行修改,以反映这种变化。(4)搜索资源一一用户能够通过提供资源的某个特征属性进行查找,获得 相关的资源。(5)查看资源一一如果所选择资源为电子文档,用户将能在系统中直接查 看该资源。文档资料管系统图1整体框架设计图资源应该具有以下属性:资源的作者,资源名称,资源的位置(若是电子 资源,则是资源在电脑上的文件位置),资源添加日期,资源所属目录情况(一 个资源可以属于多个目录),关键字(用于搜索),资源的注释等。下面就系统中对以上属性的定义:struct RESITEM(int id
26、; /资源在文档中的唯一标志string name; 资源名称string author; 资源的作者string path; 资源的位置(若是电子资源,则是资源在电脑上的文件位置)boolbEbook; 是否是电子资源string date; 资源添加日期string keywords; 关键字,用于搜索int catalogs; /资源所属目录情况(一个资源可以属于多个目录)double bytes; 资源大小(只对电子资源有效)string note; 资源的注释;XML存储结构的设计本系统的用XML编写存储结构,参照一般的XML编写方法包含以下几个类:XmlContainer(XmlT
27、ree), XmlFile, XmlLeaf, XmlNode, XmlParseio表1 XmlFile设计表类名:XmlFile设计用途:用于将一个磁盘上的XML文档以字符串的方式读入到内存中.或者将以字符串方式存于内存中的KML文档输出到磁盘。方法/属性作用string _doc保存XML字符串的内部成员变量。bool load(const char* file)将参数file指定的文件载入类的成员变量doc中。bool savefconst char* file)将成员变量doc的值保存到file指定的文件中。const string& getdocO返回doc的值。bool setd
28、oc(const string& _doc)以_doc设置doc的值。表2 Xmlparser设计表类名:XmlParser设计用途:用于实现XmlTree和字符串化的XML文档的相互转换。方法/属性作用static XmlTree* doc2tree(const string& doc)将doc转换成一个XmlTree。sialic string tree2doc(XmlTree* pXinlTree)将一个XmlTree转换为字符串。static int gettoken(string strDoc, string& token)从strDoc中获取第一个标记(或者值)说明:正是通过这两个
29、类的协作,实现了 XML文档的读写和转换。例如:XmlFile file;if (Ifile. load(Z/Settingsiterns, xml)AfxMessageBox(打开数据文件 items, xml 失败“);return;)XmlTree* pTree = XmlParser:doc2tree(file, getdoc 0);if(!pTree)AfxMessageBox(转换数据文件 items, xml 失败);return;上面的代码段首先使用XmlFile的实例load 了一个XML文档,然后使用 XmlParser: : doc2tree创建了一个XmlTree,从而
30、为内存中使用XML提供了基础。 下面说明一下对XML的处理方案。使用树型结构表达XML文档,可以比较方便 的进行相应的读写删改操作。因为XML本身就是一个数型的结构。例如:tttttt13dxx7xx以上是一段程序中用到的XML文档结构。注意到整个文档以开始, 以结尾,表示之间的都是存储的数据(实际上就是资源的属性数据)。 中间共有两个item,而每个item 乂各有几个属性(如name,catalogs等)。注意到上面的树中有些节点只有Name没有Value,而有些却都有。虽然它 们都是节点,但类型上还是有区别的。故,采用三个类表达这种信息:XmlNode, XmlLeaf, XmlCont
31、ainero首先定义一个接口类XmlNode,该类表达抽象的XML节点。然后使HlXmlLeaf 类和XmlContainer类来实现XmlNode, XmlLeaf表示叶节点(有Name和Value双重 属性的节点,但自己没有子节点),XmlContainer表示容器节点(只有Name属性 的节点,而且自己可以有子节点)。下面是它们的定义:class XmlNode public:XmlNode0 name = node;parent = NULL;virtual XmlNode 0;virtual bool isleaf()=0; /是否叶节点virtual bool iscontaine
32、r()=0;是否容器节点virtual XmlNode* getparent0 return parent; 返回父 行点virtual bool setparent(XmlNode* -parent) parent=_parent; return true; / 设置父节点virtual const string& getname0 return name; 返回日点名称virtual bool setname (const string& _name) name=_name; return true; 设置 节点名称 protected:XmlNode* parent;string nam
33、e;class XmlContainer : public XmlNode(public:XmlContainer0 pos = -1; name=container”;XmlContainer(const string& _name)name=_name; pos = -1;XmlContainer0 release0;bool isleaf0 return false;bool iscontainer0(return true;bool addchi Id (XmlNode* _node); 新增一个子节点bool remove (XmlNode* pNode); 删除一个子打点XmlNo
34、de* firstchildO ; 返回第一个子节.点XmlNode* nextchildO ; 返回下一个字节点XmlNode* getchilddnt nlndex); 返回第nlndex个子节.点XmlNode* search (const string& name); 找到第一个以name为名的子孙行点XmlNode* search (const string& name, const string value); 找至U第一个以name 为名,以value为值的叶节点void trav(ostream& out); /遍历并输出至but中void print(int lev);pro
35、tected:void release();int pos;vector children;typedef XmlContainer XmlTree;class XmlLeaf : public XmlNodepublic:XmlLeaf0 name=leaf;XmlLeaf(const string& _name) name=_name;XmlLeaf (const stringS _name, const string& _value) name=_name; value=_value;“XmlLeaf 0;bool isleaf 0 return true; /是叶节点,返回truebo
36、ol iscontainer0 (return false; /不是容器节点,返回falseconst string& getvalueO return value; ; /获取值bool set value (const stringS _value) value=_value; return true; 设置值 protected:string value;下图为数据流的转化图:图3 Xml数据流转换图在读取文件数据的时候使用XmlFile从磁盘读取文件数据,并转化为一个 String对象,然后使用XmlParser转化为一个XmlTree对象,这样就可以很方 便的操作数据。当存储数据的时
37、候,使用XmlParser把一个XmlTree对象转化 为一个String对象,然后通过XmlFile类将这个String对象保存到磁盘文件 中。上述过程就实现了系统数据流的转化,也在次基础上变于整个系统调用XML 来实现具体的功能。3用户界面和事物处理3.1用户界面本系统的用户界面是一个,类似VC的界面,左边、底下有两个可浮 动、可变大小的控制窗口。具体实现的为:首先创建窗口的定义如下: 先为CMainFrame增加成员变量: class CMainFrame : public CFrameWnd protected: CMainFrameO ;DECLARE.DYNCREATE(CMain
38、Frame)public:CDlglnfom_dlglnf。; 用于显示信息,位于程序最下方CCoolTabCtrlm_TabCtrl;CCoolBarm.wndMyBarl;/我们将它作为左边的窗口CCoolBarm_wndMyBar2;/我们将它作为右边的窗口创建ControlBar即控制条和“删除”,“修改”,“修改”按钮:if (! m_wndMyBar 1. Create (_T (我的控制条“),this, CSize (230, 260) ,TRUE, 123) ;if (!m_wndMyBar2.Create(_T (我的控制条 2),this,CSize(200,100),
39、TRUE, 124) m_wndToolBar. SetButtonText(0,“增加“);m_wndToolBar. SetButtonText(1,“删 除“);m_wndToolBar. SetButtonText (2,修改”);创建TAB Control,并把它加入到ControlBar中。需要注意的是: 同一个ControlBar只能加入一个一级子窗口m.TabCtrl. Create(TCS.DOWN WS.CHILD WS.VISIBLE,CRect(0,0, 0, 0), &m_ wndMyBarl,125);m.TabCtrl.AddPage(RUNTIME.CLASS(
40、CCatalogDlg),IDD.DLG.CATALOG, 目 录,IDI.ICON.CATALOG);mTabCtrl. AddPage(RUNTIME.CLASS(CSearchDlg),IDD_DLG_SEARCH, 搜 索,IDI.ICON.SEARCH);m.TabCtr 1. AddPage (RUNTIME.CLASS (CFavDlg), IDD.DLG.FAV,”收藏夹 、IDI.ICON_FAC);停靠控制:m_wndMyBarl. SetBarStyle(m_wndMyBarl. GetBarStyle 0 CBRS_TOOLTIPS CBRS.FLYBY CBRS.SI
41、ZE.DYNAMIC);m_wndMyBar2. SetBarStyle(m_wndMyBar2. GetBarStyle 0 CBRS_TOOLTIPSCBRS.FLYBY | CBRS.SIZE.DYNAMIC);m_wndToolBar. EnableDocking(CBRS_ALIGN_ANY);m.wndMyBarl. EnableDocking (CBRS_ALIGN_ANr);m_wndMyBar2. EnableDocking (CBRS_ALIGN_ANr);EnableDocking(CBRS.ALIGN.ANY);第17页共20页图4添加功能流程图第17页共20页Dock
42、ControlBar(&m_wndToolBar);DockControlBar (&m_wndMyBarl, AFXDW_DOCKBAR_LEFD ;停靠左边DockControlBar (&m_wndMyBar2, AFXDW_DOCKBAR_BOnOM);停靠右边 m_wndToolBar. EnableDocking(CBRS_ALIGN_ANY);EnableDocking(CBRS_ALIGN_ANY);DockControlBar(&m_wndToolBar);此时我们已经生成了两个控制条窗口,但窗口中还没有任何东西。在创建这 些控件时将控制条窗口指针作为父窗口指针赋值给这些控件
43、。在上面叙诉中,创 建了 “添加”“删除”,“修改”按钮。其他按钮,控件在添ass CCoolTabCtrl : public CWnd类中声明和定义,在使用中调用。由于它们涉及到对具体事件的处 理,在下面部分分类说明。其中对于风格的使用,论文中没有特别说明,在使用 中可以看出来。4. 3. 2事务处理事务处理这个模块就是对具体的按钮,控件的设置和响应,通过对它们函数 的定义和调用实现具体的功能,主要实现的就是添加,删除,搜索,和一些具体 功能的实现。下面就是对具体事务的介绍。添加资源:通过点击工具条的增加按钮弹出添加资源对话框,用户对资源属 性进行逐一设置,并在点击确定后保存。该功能的流程图
44、如下图所示:响应添加功能的类为class CAddResDlg ,其中具体实现为:void CResManView: :OnBtnAddres()响应点击添加按钮,用户在弹出窗口按照具体资源 添加其具体属性,填写完毕,点击“确定”按钮,void CAddResDlg: :0n0KOft 确定按钮的响应函数,然后BOOL CAddResDlg: :Validltem。判定资源的属性填写 是否合法,合法就添加该资源即调用XmlFile file实现把数据写入文件中,从而 实现添加功能。在添加中也用了int CAddResDlg: :GetCatalogs()来获取资源的 所属目录,这只是针对本机上
45、的电子文档。通过上述过程和具体函数实现了添加 的功能。在列表视图中选中某个资源的时候,在下面的窗口中会有关于该资源的具性 的信息显示出来,class CDlglnfo : public CDialogo在列表视图中双击某个资源的时候,若该资源是电子资源,那么它将被打开。 void CResManView:OnDblclk(NMHDR* pNMHDR, LRESULT* pResult)删除资源:在视图列表中选中要删除的项目,点击工具条中的删除,就会弹 出一个询问对话框,若点击“确定”,将删除所选择的项目。并且支持同时删除 多个资源。删除功能的流程图如下图所示图5删除功能流程图实现删除的具体过程为:当用户想要删除一个或是多个资源的时候,首先选定 要删除的项,然后点击“删除”按钮,响应该按钮的函数为void CResManView:: OnUpdateBtnDelres(CcmdUI* pCmdUI).实现删除的具
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 浙江育英职业技术学院《文学概论》2023-2024学年第一学期期末试卷
- 福建警察学院《软件测试与维护》2023-2024学年第二学期期末试卷
- 惠州工程职业学院《古典诗词鉴赏与吟诵》2023-2024学年第二学期期末试卷
- 宁德师范学院《科技写作与科研素养》2023-2024学年第二学期期末试卷
- 保安证考试前瞻性试题及答案
- 保安证考试全面发展题及答案
- 四川省眉山市彭山区一中2025届高三下学期期末质量评估物理试题试卷含解析
- 2025届三明市重点中学高三下学期第四次适应性训练英语试题含解析
- 江苏省盐城市亭湖区校联考2024-2025学年九年级下学期3月月考语文试题(含答案)
- 15 2025年高中化学科学素养模拟试题及答案
- 2025年设备部面试试题及答案
- 传染病习题库与参考答案
- 四川省2024年普通高等学校高职教育单独招生文化考试数学试题
- 3.1公民基本权利(课件 )-2024-2025学年八年级道德与法治下册 (统编版)
- GB/T 44934-2024电力储能用飞轮储能单元技术规范
- 教师专业发展与教学质量的关系-深度研究
- 地震资料解释基础
- 四川省绵阳市2025届高三第二次诊断性考试思想政治试题(含答案)
- 课题申报参考:援藏口述史思想政治教育价值的挖掘与应用研究
- 2024年南阳农业职业学院单招职业技能测试题库及解析答案
- 2024年计算机二级WPS考试题库(共380题含答案)
评论
0/150
提交评论