- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
十二、ArcGIS Desktop二次开发
十二、ArcGIS Desktop二次开发 ArcGIS Desktop的二次开发是根据用户需求,设计系统界面,并实现系统界面上各个命令的功能。 ArcObjects(AO)是用于ArcGIS Desktop应用系统开发的组件,我们可以通过编程语言调用AO组件,开发出各种基于AO的应用模块。 基于AO的开发主要有两种方式:使用内置的VBA编程语言开发和利用支持COM的编程语言开发。 定制系统界面 使用内置的VBA编程语言实现系统功能 利用支持COM的编程语言实现系统功能 系统界面是由工具条(Toolbars)组成,工具条则是由命令(Commands)组成。 共有五种类型命令:菜单、按钮、工具、文本框和组合框。 通过Customize对话框可以定义系统用户界面,包括三个方面内容: 可以选择加载哪些已有的工具条。 可以新建工具条。 可以在工具条中加载已有的命令或新建命令。 对每个命令可以定义它们的显示属性。 新建工具条 在Customize对话框中,点击New,然后在New Toolbar对话框中输入工具条名称,并确定新检工具条是保存在某个应用程序模板中,还是保存在通用模板中(Normal.mxt)。 增加命令 新增工具条是一个空的工具条,我们可以根据需要在工具条增加命令。 点击Customize对话框中的Commands选项卡,将显示可以增加到工具条中的命令。其中,左边显示的是类别,右边显示的是选中类别下的命令。同一类别,如Editor,显示的命令与加载的工具条中的命令不完全一致,只有按钮和工具。 通过拖拉方式可以把选中命令增加到工具条中;同样,通过拖拉方式可以删除工具条中命令(把工具条中的命令拖拉到工具条之外区域)。 如要在工具条中增加菜单或子菜单,在Categorie中选择New Menu,并把Commands列表中的New Menu拖拉到工具条中。 可以选中命令并拖放到菜单或子菜单下作为菜单项。 如果用户所需功能在Commands列表中没有,这时就需要通过编程方式来新建Commands。 新建Commands首先是产生用户界面控件(user interface controls,简称UIControls),有四种类型UIControls:UIButton,UITool,UIComboBox,UIEditBox。 在Categorie下选中UIControls,点击New UIControl,将出现对话框用于选择UIControl类型,选择后,一个新的UIControl将增加到UIControls类别下的Commands列表中,但需要连接相应程序才能实现功能。 定义命令的显示属性 选中工具条中的某个命令,右击鼠标,将出现命令显示属性的对话框。 命令可以以文本显示,也可以以图标显示,或同时显示。可以改变显示的文本和图标。 定制系统界面 使用内置的VBA编程语言实现系统功能 利用支持COM的编程语言实现系统功能 VBA介绍 VBA即Visual Basic for Application,是VB的简化版本,内置在ArcGIS Desktop中,因此,它可以利用很多ArcGIS Desktop 已有的功能。 VBA有它自己的开发工具(编辑器),包括编写和存储代码的窗口、设计对话框的控件、调试代码的工具等。 打开VBA编辑器有几种方式: 点击Tools\Macros\Visual Basic Editor。 在Customize窗口中双击UIControls类下的命令。 在打开Customize窗口情况下,选中工具条中的命令,右击鼠标,点击View Source。 使用快捷键Alt+F11。 VBA编辑器有多个窗口,包括工程窗口、特性窗口、代码编辑窗口等。 工程窗口显示通用工程和用户建立的应用系统工程所包含的模块。每个工程下面都有一个ThisDocument模块,工程中所有UIControls的事件过程代码都存储在该模块中。此外,还可以增加窗体模块、基本模块和类模块。 选中工程,右击鼠标,在弹出的菜单列表中点击Insert\UserForm,将插入一个窗体,同时打开工具箱。 可以把工具箱中的控件增加到窗体中,同时编写相应的代码。同一窗体中的代码存放在一个窗体模块中。 编写程序代码 在代码编辑窗口中,根据每个控件事件的功能编写实现该功能的程序代码,如点击Test1按钮,将显示信息“This is test result”,程序代码如下: 例子VBA代码 在ArcGIS帮助中,以VBA为关键字,可找到一些例子的VBA代码及使用方法,如计算选中多边形面积。 定制系统界面 利用VBA编程语言实现系统功能 利用支持COM的编程语言实现系统功能 利用支持COM的编程语言所开发的系统功能是以DLLs二进制形式发布,因此,移植性好,可以实现在其它
文档评论(0)