MAPGIS二次开发类库是建立在MAPGIS API之上的一个类库层,用于支持基于MFC类库的面向对象的Windows程序设计。MAPGIS二次开发类库,提供了一套强有力的C++类,它屏蔽了基于MAPGIS API之上开发MAPGIS 实用程序的许多复杂性,同时仍然允许有经验的程序员使用底层的MAPGIS API功能。如何有效地使用这个类库,且看下面介绍。
1.MAPGIS二次开发类库结构图
(1)CView CGisView CGisEditView CPrjEditView |
(2)CListView CListVewEx CPrjListView |
CGisView类继承了Visual C++的CView类,它封装了窗口管理的各种功能及操作,它管理了窗口的图形显示参数、操作状态,滚动条的位置、范围等基本窗口属性,以及放大窗口、缩小窗口、移动窗口、显示范围、显示比例、坐标转换等功能。CGisView 类还支持窗口的保护和快速恢复等功能。CGisView类是MAPGIS类库中大多数类的基类。
CGisEditView 类继承了CGisView 类。它封装了MAPGIS编辑处理的基本数据对象和方法。包括几乎所有的点、线、区的编辑功能以及图层的处理函数、矢量化函数、节点平差函数、数字化函数、最基本的文件操作功能。CGisEditView类及其基类组成了十分强大的图形编辑函数库。
用户开发自己的软件时最好是继承CGisEditView类,这样用户可以同时使用BaseEditWindow 、CGisView 、CGisEditView类及VC++的Cview类所提供的所有功能。
CPrjEditView类继承了CGisEditView 类,它集成了对工程文件进行编辑处理所必需的数据对象的方法,具有对整个工程文件的各个文件编辑处理功能。
CPrjListView类继承了CListView 类,它是CListView的派生类,它集成了对工程文件进行控制处理所必需的数据对象的方法,具有对整个工程文件内容及各个文件状态的处理功能。
2. 类库功能对应头文件
函数库名称 c,c++说明文件
工作区基础函数 Win_area.h
矩形图框函数 frmdll32.h
投影类库 projdll.h
控制点操作 w32_cpnt.h
状态栏显示点转换以及工作区投影函数 cordcvt.h
图形显示输出 Map_out.h
win_out.h
工程对象操作函数以及拼版文件操作函数 Map_prj.h
编辑工程文件 Prj_Disp.h
图例和工程文件操作函数 Project.h
图像显示函数 Mapdisp.h
图像编辑函数 Mapedit.h
输入编辑子系统类库 CGisEdit.h
CPrjEdit.h
拓扑操作函数 Gistopo.h
图元以及剪贴板操作函数 clippaste.h
UNDO 处理数据及成员函数 gistool.h
窗口操作函数 CGisView.h
GisView对象函数 Win_oper.h
空间分析函数 Spc_anly.h
各种头文件 MapGis.h