4、软件的整体结构
软件设计的工程文件包括如下的几个大项,如图4-1所示其中各个部分都有其自己的独特作用。论文将会分段进行程序的简单结构的简单介绍。
图4-1 绘图软件程序结构图
(1) Draw.vcxproj文件
Draw.vcxproj文件为整个project文件中项目的主程序文件。包含有文件的总体信息等各类重要的信息,以及有关使用应用程序向导选择的平台、配置和项目功能的信息。Proj文件是整体绘图软件的打包合成。为整个工程文件提供必要的支持。
(2)Draw.vcxproj.filters文件
Draw.vcxproj.filters文件为“应用程序向导”生成的VC++ 项目筛选器文件。 该文件的主要包含有各类有关项目文件和筛选器之间的各类关联的信息。在本文所使用的IDE模块中,即可以通过Draw.vcxproj.filters文件来实现各类文件之间的相互关联例如,“.cpp”文件与“源文件”筛选器关联。
(3)Draw.h文件
11
这是应用程序的主头文件。包含整个工程文件中最重要的部分。其中.h文件有很多的种类,包括Resource.h等多种声明文件。Draw.h文件在整个project文件中也占有举足轻重的作用。 (4)Draw.cpp文件
Draw.cpp文件为包含着应用程序CDrawApp的主应用程序的源文件。从Draw.cpp文件文件中可以调用CDrawApp的主应用程序文件。Draw.cpp文件是工程文件的其实文件,从Draw.cpp文件中可以打开整个工程文件。
(5)Draw.rc文件
Draw.rc文件为project文件中所使用的各类关联Microsoft Windows资源的列表文件。包括的种类多种多样包括论文所设计的绘图软件中所需要的光标文件、位置文件、图标文件等等。而Draw.rc文件通常可以在Visual C++中进行修改和编译。
(6)res\\Draw.ico文件
res\\Draw.ico文件为应用程序图标的图标文件。此图标保存在Draw.rc文件中。当需要调用的时候便进行调用。包括MFC的系统图标、工具箱图标的保存等等。res\\Draw.ico必不可少,若缺少了res\\Draw.ico文件则整个界面都将崩溃。
上面几类文件为工程文件中较为基础的几类文件之一,在MFC中还有大量的接口文件和程序文件。同时对于绘图软件的主框架窗口:在visual studio中。MFC的接口等程序包括以下几个文件:
(1)MainFrm.h, MainFrm.cpp文件
MainFrm.h, MainFrm.cpp文件中包含框架类CMainFrame,改两类文件为整个project文件中的核心文件,整个绘图系统的整体框架都在此类文件中。
(2)res\\Toolbar.bmp文件
res\\Toolbar.bmp文件为一种位图文件,该文件的作用为设计的绘图软件的工具栏创建平铺图像。为绘图软件的工具箱文件。而论文设计的绘图软件的初始工作栏和软件状态栏则是在CMainFrame类中进行构造。若想在设计的绘图软件中添加工具栏,则需要此类文件来在设计的程序中添加工具栏按钮。
(3)DrawDoc.h、DrawDoc.cpp–文件
DrawDoc.h、DrawDoc.cpp–文件包含CDrawDoc类函数。通过对这些文件进行编辑和优化可以实现图片的保存和加载功能。例如保存文件时界面的加载。颜 色面板。DrawDoc.h、DrawDoc.cpp –文件为保存打开工具栏提供了必要的支持。
(4)DrawView.h、DrawView.cpp - 文档视图文件
DrawView.h、DrawView.cpp文件包含CDrawView类。这些文件主要反映的是软件框架的搭建。将整个视图搭建于MFC中
12
除了以上叙述的软件部分,在绘图软件的设计过程中,还有其他功能软件和其他的插件为绘图软件提供了大量的支持,具体的其他支持性部件如下所示:
(1)ActiveX 控件
ActiveX 控件一个用于互联网程序搭建的小程序,有的时候也被工程人员称之为插件程序。ActiveX 控件可以用来播放动画等或者执行一些子线程程序。论文搭建的绘图软件多处地方需要ActiveX控件来提供必要的支持。
(2) 打印和打印预览支持
打印和打印预览功能的实现主要依靠的是MFC调用CView类中的部分函数来生产功能代码从而生产特定功能的代码来完成所需要完成的功能,进而实现打印、打印设置和打印预览命令在打印和打印预览这一模块的的设计中。MFC大量调用CView类中的成员函数。从而实现打印和打印预览的功能。
除了以上的proj文件,绘图软件的编写过程中还需要一下的一些标准文件来辅助完成。标准辅助软件则软件的设计中起到的是底层软件的设计。为整个工程文件提供了必要的支持。其他标准文件包括以下:
(3)StdAfx.h, StdAfx.cpp
StdAfx.h, StdAfx.cpp文件用于生成名为 Draw.pch 的预编译头 (PCH) 文件和名为 StdAfx.obj 的预编译类型文件。是绘图软件的底层构架,在软件的启动过程中起到了关键的作用。
(4)Resource.h
Resource.h是整个工程文件中的标准头文件,可用于定义新的资源 ID。Microsoft Visual C++ 将读取并更新此文件。此文件也是绘图软件底层开发的软件之一。
论文设计的基于MFC的绘图软采用的是集成MFC和GDI+编程技术合二为一。主要以线、矩形、椭圆等工具组合成一个图像。同时对于绘制完毕的图片可以储存为规定的格式。
13
5、软件的实现
通过上文的叙述和软件的编写和调试,论文已经初步搭建起来了绘图软件的结构并完成绘图软件的编写工作。基于MFC设计的绘图软件各个功能模块的图形如下:
5.1 主界面设计
图5-1 主界面示意图
主界面为软件的进入界面。主界面包括有绘图界面,文件的新建,保存、打印面板。同时主界面在设计工程中以简单明了为主。没有加入过多的旁栏,使得操作人员在操作的过程中能尽快的了解软件的结构和软件的主要功能,方便软件的普及和学习。主界面如图5-1所示。
5.2 保存控件设计
图5-2 保存控件设置
保存控件中包括文件名的编写、保存类型的选择和保存位置的选择。和其他程序的保存设置的一样。保存的控制设置也较为的简捷,尽可能的方便操作者的使用和掌握。保存工具如图5-2所示
14
5.3 画笔工具的设计
画笔工具的设计主要在工具栏中绘图按钮的下方。主要选择的画笔有四类、即点、直线、矩形和椭圆四种画笔形状的选择。通过选择不同的画笔形状,在画布上进行拖动即可绘制对应形状的图形,通过不同图形的组合即可完成相对应的图像的绘制。画笔工具的示意如图5-3所示。
图5-3 画笔工具示意图
5.4 颜色模块设计
颜色工具模块的应用为改变画笔的颜色分类。使得画笔绘制出的颜色多种多样。主要设计的颜色空间如图5-4所示。包括常规的几种颜色和自定义颜色两种。其中自定义颜色可以按照使用者的喜好进行微调。
15