![基于VBA的二次开发-课件_第1页](http://file4.renrendoc.com/view/e5b3d805ae6ee9edb72d69a70790e187/e5b3d805ae6ee9edb72d69a70790e1871.gif)
![基于VBA的二次开发-课件_第2页](http://file4.renrendoc.com/view/e5b3d805ae6ee9edb72d69a70790e187/e5b3d805ae6ee9edb72d69a70790e1872.gif)
![基于VBA的二次开发-课件_第3页](http://file4.renrendoc.com/view/e5b3d805ae6ee9edb72d69a70790e187/e5b3d805ae6ee9edb72d69a70790e1873.gif)
![基于VBA的二次开发-课件_第4页](http://file4.renrendoc.com/view/e5b3d805ae6ee9edb72d69a70790e187/e5b3d805ae6ee9edb72d69a70790e1874.gif)
![基于VBA的二次开发-课件_第5页](http://file4.renrendoc.com/view/e5b3d805ae6ee9edb72d69a70790e187/e5b3d805ae6ee9edb72d69a70790e1875.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
GIS工程设计开发综合实习——基于C#.NET和AO/AE的GIS设计与开发2Part6:基于VBA的二次开发ArcObjects是ArcGIS家族的应用,如ArcMap,ArcCatalog,ArcScene等应用程序的开发平台。ArcObjects是ArcGISDesktop的开发平台。
ArcObjects是利用微软的COM技术来建立的,因此,可以使用兼容COM技术的所有语言来进行开发,如VC、VB、Java、Delphi、.Net等等。从而对ArcObjects的结构进行扩展。
6.1概述GIS设计与开发3对象模型图GIS设计与开发4在UML的图中,有三种类型的类,abstractclasses,colasses,和classes.(1)coclass代表在开发环境中可以使用对象定义语法直接创建的对象。在VisualBasic环境中,可以写为DimpFooAsNewFooObject(2)class不能直接创建新的对象,但是类的对象可以作为另一个类的属性进行创建。(3)abstractclass不能用于创建新类,但是可以作为子类的一个说明。(1)类和对象GIS设计与开发5在abstractclasses,coclasses,和classes之间具有多种可能的类之间的关系。如上图所示,一个Owner(主人)可能有一个或多个Landparcels(地块);一个Landparcel(地块)也可能有一个或多个Owners(主人)。Associations代表类之间的关系。(2)关系GIS设计与开发6类的继承表示特殊类具有超类的所有属性和方法,同时具有一些另外的属性和方法。右图表示:primaryline和secondaryline是line的子类。(3)类的继承GIS设计与开发7详细说明请参考电子书:Exploring_ArcObjects.pdf,这里只对部分知识加以说明,起到一个入门的作用。可以使用不同的开发语言来进行开发,但是最容易和最快的还是使用ArcGIS应用,VBA:VisualBasicApplication。
1、启动ArcMap。启动ArcMap,并添加一些图层。
2、使用定制对话框显示或隐藏工具条。点击Tools菜单,点击Customize子菜单。
6.2开始使用VBA和ArcObjectsGIS设计与开发8在如上对话框中,可以选择或取消某些工具条。
GIS设计与开发9点击New按钮,在弹出的对话框中创建新的工具条。注意:在Save下拉菜单中选择“无标题”,不要选择Normal.mxt3、创建新的工具条GIS设计与开发10
(1)右键点击刚才添加的工具条,点击右键,选择Customize子菜单。(2)点击Commands选项卡,
(3)选择Pan/Zoom类,将需要的命令按钮利用鼠标拖动到工具条中。4、在工具条上添加按钮GIS设计与开发11如下图所示,在Toolbars选项卡中,点击Rename,修改工具条的名称。
5、修改工具条的名称GIS设计与开发12(1)右键点击工具条,选择Customize,(2)然后从工具条中,将相关的按钮从工具条中拖出,删除相关的按钮。
7、在工具条上添加菜单
如图所示,在Customize对话框中,选择Menus类,然后拖动Commands列表中的相关菜单到所创建的新的工具条中。也可以直接修改ArcMap的菜单系统。6、从工具条中删除按钮GIS设计与开发13(1)点击File菜单,点击SaveAs。(2)导航到Templates文件夹,保存成模板文件(*.mxt)。
8、将变化存储到模板中GIS设计与开发14可以使用VBA的集成开发环境,创建宏用于帮助自动执行一些重复性的工作,扩展内置的嵌入函数。
(1)创建宏使用VB编辑器,可以编辑宏,将宏从一个模块拷贝到另外一个宏,改变存储宏的模块的名字,改变宏的名称。点击Tools菜单,指向Macros,然后点击Macros。9、在VBA中创建Macros(宏)GIS设计与开发15
在如上图所示的对话框中,输入”MyZoomIn”,然后点击Create,调出如下图所示的VBA的开发环境。
GIS设计与开发16GIS设计与开发17代码解释:(1)第一行:DimpDocAsIMxDocument定义一个表示ArcMap文档的变量。(2)第二行:DimpEnvAsIEnvelope定义一个矩形,确定数据的范围。(3)ThisDocument:预定义的变量,代表当前的文档。(4)ActiveView:提供一个IActiveView接口,将文档数据连接到当前的屏幕显示数据。GIS设计与开发18(2)关闭VBA开发环境,返回到ArcMap。GIS设计与开发19在ArcMap环境中,点击菜单Tools,指向Macros,然后点击Macros。选择Module1.MyZoomIn,然后点击Run,当前的图层将被放大显示。(3)运行宏GIS设计与开发201)点击Tools菜单,点击Customize子菜单2)点击Commands选项卡,选择Project.Module1.MyZoomIn。
(4)将宏添加到工具条上GIS设计与开发213)将Project.Module1.MyZoomIn拖动到MyOwnTools工具条上。4)在Customize环境下,可以右键点击该按钮,修改其相关属性,如点击ChangeButtonImage,改变图标的类型。5)关闭Customize对话框。6)点击刚才添加的宏按钮,运行相关的宏。练习:请按照同样的办法添加MyZoomOut宏。
区别在于:将pEnv.Expand0.5,0.5,True
改为:pEnv.Expand2.0,2.0,TrueGIS设计与开发22可以在代码中调用一些嵌入式命令,如Find命令。具体方法如下:(1)在ArcMap中,点击Tools,指向Macros,然后点击VisualBasicEditor。10、调用嵌入命令GIS设计与开发23
(2)在如图所示的VisualBasicEditor中,在Modules中添加一个模块,即Module2,然后添加如下图所示的代码。GIS设计与开发24(3)返回到ArcMap。(4)右键点击需要添加命令的菜单,点击Customize,如图所示,将Commands中的宏拖动到菜单条上。GIS设计与开发25(5)测试:调入一个图层,将其放大或缩小,点击刚才添加的按钮,对程序进行测试。GIS设计与开发26命令(command)类似于一个宏,但是允许有更多的定制。命令是UIControl的一种类型。在VBA中创建命令的具体方法如下:(1)在ArcMap环境中,点击菜单Tools,Customize。(2)在Customize对话框中,点击Commands选项卡,(3)在Save下拉框中,选择你的Project的名字,或者选择“无标题”11、在VBA中创建一个Command(命令)GIS设计与开发27(4)在Categories列表框中,选择UIControls。(5)点击NewUIControl。(6)在如图所示的NewUIControl对话框中,选择UIButtonControl,然后点击CreateandEdit.GIS设计与开发28下面为UIButtonControl的点击(Click)事件添加代码。添加将图形恢复到数据集的范围。添加如下代码:(6)为UIToolControl添加代码GIS设计与开发29(7)下面为该Command添加ToolTip(工具提示)和message(消息)。在Procedure(进程)组合框中,选择Message,并添加如下代码。GIS设计与开发30(8)点击ToolTip进程,并输入下列代码GIS设计与开发31(9)点击File,CloseandReturntoArcMap(10)在ArcMap中,点击Tools,Customize,然后点击Commands选项。(11)点击Save下拉框,选择你的project名,或“无标题”(12)在Categories列表中,选择UIControls并拖动UIButtonControl1到你所创建的工具条上,如图所示。然后关闭Customize对话框。(13)在ArcMap中打开一个图层,然后进行测试。GIS设计与开发32(1)在ArcMap环境中,点击Tools,Customize;(2)点击Commands选项卡,在Save下拉组合框中选择“无标题”;(3)在Categories列表中选择UIControls;(4)点击NewUIControl;(5)选择UIToolControl类型,点击CreateandEdit。12、在VBA中创建一个Tool(工具)GIS设计与开发33(6)添加如下代码GIS设计与开发34(7)在UIToolControl1的Enabled事件进程中添加如下代码:(8)在CursorID事件过程中添加如下代码,从而控制使用该工具时的光标的类型。GIS设计与开发35(9)按照如同11创建一个Command类似的方法创建ToolTip和message。(10)点击File,CloseandReturntoArcMap。(11)在ArcMap中,点击Tools,Customize,然后点击Commands选项。(12)在Commands列表中,选择UIControls,然后拖动UIToolControl到自己创建的工具条中,然后关闭Customize对话框。GIS设计与开发36(14)点击刚才添加的工具按钮,然后在图层显示区画一个矩形,将执行放大处理。(15)如果删除了所有的图层,工具按钮将变为灰色,这是执行Enabled事件的结果。GIS设计与开发37(1)右键点击工具条,在弹出菜单中选择Customize,这时可以对按钮进行修改。注意:如果没有打开Customize对话框,将不允许对按钮进行修改。(2)右键点击需要修改的按钮,选择ChangeButtonImage,修改按钮的图像。13、改变按钮的属性GIS设计与开发38通过建立一些定制的用户接口来安排标准的用户界面以及添加新的定制命令。
AO的定制框架允许用户定制ArcMap,ArcCatalog,以及其他的ArcGIS应用。可以通过管理用户接口元素:toolbars,menus,commands等等。
(1)文档(Documents)和模板(Templates)
当我们使用ArcMap时,打开了一个图形文档(.mxd),该文档中存储了图形的状态、定制的用户接口设置、以及VBA工程等。理解文档和模板是理解使用ArcObjects对ArcGIS的应用进行定制的关键。对于不同的应用,文档和模般的结构和功能是不同的。6.3定制用户接口GIS设计与开发39有多种定制ArcMap的方法:(1)通过给地理数据添加空间参考,以及定义数据的显示方式来定制;(2)通过创建具有空间参考和辅助值图要素的图形输出来定制。(3)通过添加、删除、重新安排标准用户接口中的元素来定制。(4)通过在VBA工程中添
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 提高销售管理能力的培训课程
- 2025天津市农资买卖合同范文
- 家居装饰设计与施工方案
- 劳动合同知识产权保密条款
- 房屋中介买卖服务合同范本
- 2025《代理企业所得税年度纳税申报合同》(合同模版)
- 的买卖合同范本
- 社工劳动合同
- 2025工程外包合同模板
- 农业机械设备采购安装合同
- JTGT H21-2011 公路桥梁技术状况评定标准
- 卖花生混声合唱简谱
- 【永辉超市公司员工招聘问题及优化(12000字论文)】
- 柴油加氢装置知识培训课件
- 汽油安全技术说明书(MSDS)
- 中国直销发展四个阶段解析
- 2024届浙江省宁波市镇海区镇海中学高一物理第一学期期末质量检测试题含解析
- 部编版语文四年级下册 教材解读
- 《一次函数与方程、不等式》说课稿
- 动火作业安全管理要求及控制措施
- 诗豪刘禹锡一生部编教材PPT
评论
0/150
提交评论