ArcEngine_开发文档(ArcGIS AO开发)

2019-04-21 15:10

ArcEngine 开发

1. 基础篇

1.1. 开发环境

1.1.1. 如何在ArcMap的VBA环境中编程

ArcMap是ArcGIS家族的成员之一,它内置了一种集成编程环境―VBA(Visaul Basic for Apllications)。通过VBA编程,用户不但可以扩展ArcMap的菜单、工具条等,而且可以完成大多数用户的特定需求。

ArcMap中VBA编程的方法有两种,一种是写VBA宏,另一种是创建UIControl并在其事件中写入实现用户需求的代码。下面列出两种方法的一般步骤。

方法一:写VBA宏(直接在VBA编辑器中编辑函数和过程)

1、如图1,单击菜单栏中的命令,选择项, 直接启动ArcMap的VBA编辑器;或者选择项,进入如图2所示Macro对话框,在“Macro Name”文本框中输入要创建的宏的名称,并点按钮,启动VBA编辑器。

图1 启动Macro对话框/启动VBA编辑器

-1-

图2 Macro对话框

2、在图3所示的窗口中,用户可以根据实际选择在Normal节点或者Project

节点的ThisDocument、Forms、Modules中编写宏(函数或过程),Normal节点下所写的宏系统自动保存,除非用户删除,否则它将始终存在并在任何工程中都有效;而在Project节点下所写得宏随工程保存(如不保存工程,则宏也将不被保存),并只在工程中有效。

图3 VBA编辑器(VBE)

-2-

3、运行VBA宏

在VBA编辑器中写好VBA代码后,有两种方式运行:第一,点击VBA编辑器工具条中的

(运行)按钮,可立即运行写好的代码;第二,退出VBA编辑器,

重新启动Macro对话框,如图2,选择要运行的VBA宏名称,点击按钮即可运行相应的VBA宏。

方法二:创建UIControl(交互式VBA编程)

1、用鼠标右击任何工具栏(条),在弹出的上托式菜单中选择菜单项,如图4,进入图5所示的Customize对话框。

图4 启动“Customize”对话框

2、切换到“Customize”对话框的“Commands”页,选中“UIControls”后点击按钮,进入图6所示的“New UIControl”对话框。

3、在“New UIControl”对话框中,用户可根据需要选择UIControl类型:

UIButtonControl:创建Button; UIToolControl:创建与Map交互的Tool; UIEditBoxControl:创建EditBox;

-3-

UIComboBoxControl:创建ComboBox。

最后点击按钮只创建UIControl或者点击按钮创建UIControl并进入VBA编辑器。与方法一不同,此时应在UIControl的事件中进行VBA编程。

图5 Customize对话框

图6 New UIControl对话框

4、UIControl创建后,在图5所示的“Customize”对话框选中UIControl并将其拖置到任意工具条上,用户便可象使用系统已有的Control一样使用所创建的UIControl。

-4-

1.1.2. 如何在VB环境中利用ArcObjects组件开发ActiveX DLL

1.1.1节讨论了如何在ArcGis的VBA环境中编程,虽然通过这种方式可以完成大多数用户的定制需求,但是,在某些情况下,对于特殊的应用,用户需要脱离ArcGIS环境而在VB开发环境中开发外部独立的应用程序,这种外部独立的应用程序有两种形式: ActiveX DLL和Standard EXE。Standard EXE的开发将在1.1.4中讨论,本节将讨论ActiveX DLL的开发,其关键是引用ArcObjects对象库和实现ArcObjects接口(例如ICommand,ITool,IToolBar等)。

下面介绍在VB环境利用ArcObjects组件开发ActiveX DLL的一般步骤。 1、启动VB开发环境,在图7所示的“New Project”对话框中选择“ActiveX DLL”项,并点击<打开>按钮,进入VBE环境。

图7 New Project对话框

2、引用ArcObjects对象库:首先点击菜单中的项,如图8,进入对象库引用对话框,如图9。

-5-


ArcEngine_开发文档(ArcGIS AO开发).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:基于单片机空气PM2.5浓度检测系统设计毕业论文 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: