




已阅读5页,还剩26页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 Building add-ins for ArcGIS DesktopAbout add-ins ArcGIS10引入了一些新的开创性的特性,让用户能方便地自定义和扩展ArcGIS Desktop应用程序,这其中就包括新的Desktop插件模型。这个新的插件模型为你提供了一种基于声明的架构,使得你能够创建一系列的定制,并方便地打包为一个紧凑的文件。插件可以很方便地在用户之间共享,因为它们不需要安装程序或组件对象模型的注册;插件可以通过文件夹的拷贝或删除来添加到系统或从系统中移除。如果有集中式的网络共享,插件也能为机构中的用户共享。插件是使用.NET或Java以XML来创建。XML描述了定制,而.NET或java类则提供用户行为。ArcObjects开发包(SDK)中包含了一个集成于开发环境(Eclipse,Microsoft Visual Studio等)的插件向导。When to use add-ins ArcGIS插件能方便的自定义桌面,也方便共享;但是,取决于你要建立的具体方案目标,其它的选择也许是更合适的:Python 所有ArcGIS桌面应用程序中都包含有嵌入的脚本语言Python。ArcGIS的很多方面,尤其是地处理,都可以通过简化的Python应用程序接口(API)来访问,很容易编程完成常见任务。Python脚本方便共享,不需要外部开发环境就能创建。Python有很多的模块专注于不同领域,如科学,工程,算术等。尽管Python很强,但是它也并不能胜任所有编程。尽管Python应用领域在不断扩大,但是ArcGIS的一些领域还是Python所不在行的。而且,Python中的编辑和程序调试远不如商用开发环境(如VS)那样成熟方便。还有,使用Python你无法监控和回应ArcGIS时间,无法实现COM接口,也无法插入ESRI的许多COM的扩展点。 Classic COM extensibility 插件构架不能支持所有的ArcGIS定义的扩展点。例如,在插件中,你无法编写一个自定义的renderer,或是自定义的工作空间,或自定义的要素。如果你的方案中包括插件架构所不支持的组件类型,那么你得使用传统的COM扩展方法。而且,由于插件的共享不需要注册步骤,基于插件的解决方案不应该用于有外部依赖性的情况,如库,编译,服务等需要注册或管理介入的。Add-in types ArcGIS桌面应用程序支持固定的插件类型,包括最流行的、在之前版本中引入的、基于COM扩展模型中使用的那些类型。当前版本支持的插件类型如下: Buttons and tools 按钮和工具都是简单的控件,可以出现在工具栏或菜单中。 Combo boxes组合框提供一个下拉列表选项,也可以提供一个编辑输入区域. Menus and context menus菜单提供一个包括按钮,子菜单,多选项等的下拉列表。菜单项可以来源于程序本身,或者来源于插件。菜单通常放在工具栏上,也可以独立地显示为弹出菜单或根菜单。 Multi-items多选项是一个在运行时创建的菜单项的动态集合。当菜单上的项目在运行前无法确定时,或者需要根据系统状态修改显示的项目的时候,就可以使用多选项。 Toolbars 工具栏可以容纳按钮,工具,菜单,工具面板,以及组合框等。与菜单相同,工具栏上的空间可以是来源于程序内部,也可以是来源于插件。工具栏可以添加到应用程序并设置为程序启动后自动显示给用户。 Tool palettes工具面板提供了一种紧凑的方式来组合一组相关的工具。工具栏上显示出最近使用过的工具按钮,旁边一个小的下拉箭头按钮用来访问其它同组的工具。 Dockable windows 可停靠的窗口是ArcGIS桌面应用程序界面上浮动或停靠的窗口。各种各样的内容,如表格,幻灯,视频,小地图,自定义的包含其它空间的对话框,都可以放置在浮动窗口中。插件开发者应当考虑可停靠窗口最初出现的位置,考虑是否将它与其它可停靠窗口组合在一起。 Application extensions应用程序扩展用来协调插件内的组件的活动,如同属一个插件的按钮,工具,可停靠窗口之间。应用程序扩展通常用来存储作为一个整体的插件的状态,监听并响应主应用程序暴露的各种事件。应用程序扩展可以配置为根据需要载入或相关应用程序启动时自动载入;扩展可以配置为出现在标准的ArcGIS扩展模块对话窗口中。 Editor extensions 编辑器扩展可以直接插入到编辑架构中,用来自定义编辑工作流程,与应用程序扩展相比,编辑器扩展插件是在开始编辑会话后装入。通过创建编辑器扩展,你可以自定义编辑会话的行为,如可以监控编辑事件。Managing add-ins 获取插件的来源有很多,如网上资源,电子邮件,或者浏览文件系统或网络。插件的安装可以简单到在资源管理器中双击插件文件实现。双击后,ESRI提供的插件安装功能对插件进行审核,并将它拷贝到正确的文件夹下。安装程序让用户在继续安装插件之前能查看作者,描述,版本,数字签名信息等。这个审核步骤让用户确定文件被拷贝到正确的位置,解决可能的名字冲突,保证已有的插件版本不被覆盖。这个安装功能也能直接用在电子邮件附件或网页链接情况。参看下图。插件也可以使用ArcGIS Desktop应用程序中的自定义对话框中的Add from file按钮功能来安装,参见下图:这个自定义对话窗口可以通过(ArcMap)的自定义菜单来访问。利用双击或从文件添加方式安装的插件都被称为本地插件。本地插件保存在一个特定的依用户而定的本地磁盘文件夹中。插件还可以手工方式拷贝到对应的文件夹中而不是使用上述安装方法,但必须注意命名不能冲突,版本不能覆盖等。拷贝这种方式主要用于网络中共享的插件。与处理传统的COM组件一样,单独的插件类型都可以通过自定义对话框来访问。例如,一个插件中定义的按钮与COM中的命令行为没任何区别,二者都列在Commands页面中具体的类别下。从自定义对话框中,二者都可以被拖放到工具栏或菜单中。ArcGIS桌面应用程序的自定义菜单上提供了一个插件管理器对话框。对话框中,插件页面提供当前运行的应用程序可用的各个安装的插件的详细信息。以ArcGlobe为对象的插件不会出现在ArcMap的插件管理器对话框中。参见下面的插图:插件管理器的选项页面让用户能添加自定义的插件文件夹。每当应用程序启动时,插件构架会自动搜寻这些自定义文件夹下的插件。这个选项对于采用网络共享插件的情况尤其有用。这些位置中插件的添加、删除和更新都不会影响到任何客户机器;更新将在客户机相关应用程序下次启动时自动完成。选项页面也可以用来曲线所有的插件功能。参见下图: 通过插件管理器,用户可以决定卸载特定的插件。卸载插件将把指定的插件移到系统回收站中,以后可以根据需要恢复。Uninstall按钮仅能用于本地插件。要卸载一个自动以插件文件夹来的插件,仅需要从该文件夹中删除插件或者移除该文件夹即可。Add-in file anatomy 剖析插件由若干部分组成:XML格式的元数据文件描述插件自身及其自定义内容;自定义用到的影响和其它类型的简单数据;以及编译的代码。要让这些部分捆绑在一起,插件被打包为一个自包含的压缩包,后缀为esriAddIn,例如Acme.esriAddIn。插件可以使用声明式或命令式编程方法。前面提到的XML文件时声明式部分,它描述插件的所有静态方面,包括标题,工具提示,帮助,图像,初始布局细节等。而命令式,或活动的部分是传统的基于命令的编程模型,可以是.NET语言或Java。这种声明式和命令式方面的划分增加了插件的灵活性,减少简化了开发者的编程负担,总的来说简化了开发和维护工作。例如,你可以在不重编译代码的情况下改变标题和按钮图像。一些自定义,如工具栏,工具面板,菜单等,完全由声明构成,它们没有活动的部分。下面的XML例子显示的是一个插件,定义了一个工具栏和其上的一个按钮: XML Acme Custom Mapping Extension 6fa0df73-57ab-491e-a73d-e58ce07af414 Custom mapping toolbar. 1.0 ImagesAcme.png John Locke Acme 5/28/2009 Turns the ACME dockable window on and off. 下面的代码为一个按钮的命令部分。所有ArcObjects对象,以及你所用编程环境的丰饶资源,都能直接被使用: C# public class ToggleDockWndBtn: Button public ToggleDockWndBtn() protected override void OnClick() /Get dockable window. UID dockWinID = new UIDClass(); dockWinID.Value = ESRI_SelectionSample_SelCountDockWin; s_dockWindow = ArcMap.DockableWindowManager.GetDockableWindow(dockWinID); VB.NET Public Class ToggleDockWinBtn Inherits ESRI.ArcGIS.Desktop.AddIns.Button Public Sub New() End Sub Protected Overrides Sub OnClick() Get dockable window. Dim dockWinID As UID = New UIDClass() dockWinID.Value = ESRI_SelectionSample_SelCountDockWin s_dockWindow = ArcMap.DockableWindowManager.GetDockableWindow(dockWinID)End SubBuilding add-ins 插件是在集成开发环境下建立的,如Visual Studio Express for .NET,Eclipse for Java, 而ArcObjects SDK 中提供了简单向导和模板来自定生成完整哑元的插件项目,包括XML和类文件。而且,在建立这些项目的时候,它们自动生成一个插件文件并拷贝到已知的文件夹中。 对大多数来说,XML文件由向导来完成。如果你需要手工编辑XML,相关的结构文件通过提供IntelliSense和现场审核,使得编辑变得很简单。更多的关于使用这些向导和模板来开发插件的内容,请参见Building custom UI elements using add-ins。 2 Building custom UI elements using add-insIn this topic About building custom UI elements Creating a custom button and tool Creating a Visual Studio project Using the ArcGIS Add-Ins Wizard Understanding the XML Adding ZoomToLayer functionalityto thecustom button Adding AddGraphics functionality to the custom tool Installing the custom button and tool Testing the custom button and tool Creating a custom combo box Adding functionality to the custom combo box Installing the custom combo box Testing the custom combo box Creatinga custom toolbar Installing the custom toolbar Testing the custom toolbar Creating a custom menu Installing the custom menu Testing the custom menu Uninstallinganadd-in About building custom UI elements 创建可以配置到ArcGIS桌面应用程序(ArcMap,ArcCatalog,ArcGlobe,ArcScene等)的用户接口(UI)元素的最简便方法是使用插件。插件支持下列的自定义UI元素:l 按钮 buttonl 工具 Toolsl 工具面板 Tool palettesl 组合框 Combo boxesl 菜单 Menusl 工具栏 Toolbarsl 多项列表 Multi-itemsl 可停靠窗口 Dockable windowsESRI提供集成开发环境(IDE)模板用于创建和部署这些自定义的UI元素。本指南描述使用ArcGIS工程和项模板在ArcMap中创建用户接口元素的步骤。创建自定义的按钮和工具使用ArcGIS插件向导能方便地创建按钮和工具。下面部分详细地介绍怎样创建一个缩放当前活动图层的按钮和一个能让你往地图上添加新图形的工具。创建一个VS工程要创建一个VS工程,按下列步骤:1 启动Visual Studio2 点File菜单下的New,选择Project,这样打开New Project对话框。3 在Project类型下,展开Visual Basic或Visual C#项目节点,展开ArcGIS节点,点选ArcGIS Add-Ins4 在模板面板中选择ArcMap Add-In模板。自定义的插件针对具体的ArcGIS桌面应用程序,也可以为ArcCatalog,ArcScene,ArcGlobe创建插件。5 将项目命名为CustomUIElements,指定你希望此项目保存的位置,参见下图:6 点击OK以关闭对话框,ArcGIS Add-in向导将自动打开。使用ArcGIS Add-Ins WizardArcGIS插件向导能创建正确的XML元素并管理根据你的输入指定的该插件需要的类。为了能定义你的插件中包含的自定义部分,应该按照下列步骤:1 在ArcGIS插件向导的Welcome页面,填入关于此插件的基本信息,如名字,公司/发布人,描述,影像等。这些元数据信息将出现在插件管理器页面中。参见下图:2 下一步。系统打开Available Add-in Component页面。左边插件类型中列出的是可用的自定义类型。3 在插件类型列表中勾选Button类型。右边该类型的声明部分变得可用。4 按照下图中的内容填入该按钮的相关信息。将鼠标停留在每个输入的帮助按钮上就可以达到各条目的帮助。这个ZoomToLayerButton类将成为托管类,用来实现按钮运行时的行为。向导将为你创建这个托管类。5 在插件类型下勾选Tool以添加一个自定义工具。6 指定类名为AddGraphicsTool,它必须实现工具运行时的行为;填入其它声明性的属性:7 点Finish结束插件向导。系统创建这个插件项目,方案浏览器中内容如下:你为工具和按钮指定的图标和指针图像都被拷贝到这里的Images文件夹下。向导根据你指定的信息为你建立了正确的XML文件config.esriaddinx。下面一节详细解释这个XML文件。可以看到对应的托管类也已经创建。理解XMLXML元素描述插件和它的自定义组分,由向导根据你的输入信息自动创建。本小节讲述由ArcGIS插件向导生成的那个config.esriaddinx文件中的XML声明。小节中的序号并不代表步骤。1 插件中定义的每个元数据元素都有重要目的。插件管理器依赖于其中的名字,描述,版本,图像,作者,单位等元素来为要安装的插件提供描述。AddInID元素唯一地识别插件。为了确保唯一性,这通常是一个GUID。插件安装程序需要AddInID和版本元素。2 Target元素指定插件最兼容的ArcGIS版本和产品。插件安装程序将把插件仅仅安装到Target指定的产品和版本中。当前,唯一合法的名字和版本值为Desktop和10.0。3 AddIn元素是父元素,包含所有的插件自定义元素。其中的语言属性自定开发插件的编程环境的语言。支持的语言有CLR(代表.NET管理的插件),Java,代表Java插件。Library(库)属性揭示了插件需要调入的汇编。尽管插件可以包含多个汇编,绝大多数都仅仅依赖一个。Namespace属性指的是汇编中所有类默认的命名空间。4 ArcMap元素表示该插件自定义是针对ArcMap应用程序。你也可以为其它应用程序创建插件。5 所有自定义按钮,工具,工具面板,多项列表,组合框插件组分都必须在Commands元素内定义。在Commands XML元素中,你可以定义任意数量的按钮工具组合框和工具面板。6 Tool元素表示了通过向导创建的自定义的AddGraphics工具。Class属性指定了相关的定义工具运行时行为的托管类。Id属性在所有自定义中唯一地标识此自定义工具。当工具被包含在其他自定义的工具栏或菜单中时,工具由这个唯一的ID来识别。把鼠标悬放在Tool元素的属性上,你就可以看到更多的关于这些属性的信息,或者查看插件XML参考文档。7 Button元素显示了通过向导创建的自定义的ZoomToLayer按钮。ZoomToLayerButton类属性指定了按钮的托管类,在类中包含按钮运行时的行为描述。Id属性则是该按钮的识别号,作用与前述的工具一样。为自定义的按钮ZoomToLayer添加功能按下列步骤执行:1 打开ZoomToLayerButton的C#或VB.NET类文件。这个自定义按钮必须继承ESRI.ArcGIS.Desktop.AddIns.Button抽象类。并且必须覆盖下面的两个方法:l OnClick在ArcMap中点击到自定义按钮时唤醒并执行这个方法。l OnUpdate这个方法按很高的频率(毫秒间隔)被唤醒和执行,更新按钮的enabled和checked状态。更多信息请参见Add-in codingpatterns 部分。 2 要实现你的ZoomToLayer按钮的功能,使用 ArcGIS Snippet Finder 工具。这个工具为普通的工作流程提供代码。你可以根据需要将代码插入到你的托管类中。为了实现此按钮需要的放大到图层的功能,按下列步骤执行: a. 右击Visual Studio代码编辑器窗口中适合的插入点; b. 从右键菜单中选择ArcGIS Snippet Finder。这样ArcGIS Snippet Finder 对话框自动打开。 c. 在关键词输入框中输入“zoom”以缩小搜索范围,然后点击Search。 d. 在片段的内容列表中选择“Zoom to Active Layer”,然后点击Insert Code以把这个片段程序插入到你的Visual Studio 代码编辑其中。参见下图: 3 在OnClick()方法中实现对ZoomToLayer方法的唤醒。ZoomToLayer()方法需要IMxDocument 作为方法参数。ArcGIS Add-Ins Wizard根据config.designer.cs 文件中你的插件的自定义信息来创建静态类。因为你是在建立一个ArcMap组件,插件模板生成一个ArcMap类 以及一些静态成员,如Application和 Document来让你可以使用。使用对象浏览器可以查看所有类成员的列表。参见下图:下面的代码示例了使用该静态实例: C# protected override void OnClick() ZoomToActiveLayerInTOC(ArcMap.Application.Document as IMxDocument);VB.NET Protected Overrides Sub OnClick()ZoomToActiveLayerInTOC(TryCast(ArcMap.Application.Document, IMxDocument)End Sub为自定工具 AddGraphics 添加功能 要在自定义工具上实现添加图像的功能,按下面步骤操作:1. 打开AddGraphicsTool.cs类文件。这个自定义工具必须从ESRI.ArcGIS.Desktop.AddIns.Tool抽象基类中继承并且必须重写 OnUpdate() 方法。向导为你生成了管道代码(plumbing code)。Tool基类提供一些方法来捕捉UI事件,注入 OnMouseDown() 和OnMouseUp。根据你需要自定义的行为,你可以选择重写任何这些方法。 OnMouseDown() 则是 AddGraphics 工具所必须重写的。 2. 在重写OnMouseDown() 方法之前,你必须将AddGraphics功能作为一个独立方法实现,同样可以使用ArcGIS Snippet Finder,如下面的步骤: a. 在Visual Studio 代码编辑器窗口中适合的插入位置处右击; b. 从右键菜单中选择ArcGIS Snippet Finder 以打开ArcGIS Snippet Finder 对话框。 c. 在搜索关键词中输入graphic然后点击Search按钮进行搜索。 d. 选择 Add Graphic to Map 程序片段,然后点击Insert Code。参见下图: 3. 使用片段查找器将add polygon graphics功能添加给工具,如下面步骤所示: l 以polyline为关键词进行搜索。 l 选择Get Polyline From Mouse Clicks程序片度并选择Insert Code。这个片段将作为一个方法插入。如下图所示: 4. 在OnMouseDown 中正确地唤醒这些方法,如下面的代码示例: C# protected override void OnMouseDown(ESRI.ArcGIS.Desktop.AddIns.Tool.MouseEventArgs arg) /Get the active view from the ArcMap static class. IActiveView activeView = ArcMap.Document.ActiveView; /If its a polyline object, get from the users mouse clicks. IPolyline polyline = GetPolylineFromMouseClicks(activeView); /Make a color to draw the polyline. IRgbColor rgbColor = new RgbColorClass(); rgbColor.Red = 255; /Add the users drawn graphics as persistent on the map. AddGraphicToMap(activeView.FocusMap, polyline, rgbColor, rgbColor); /Best practice: Redraw only the portion of the active view that contains graphics. activeView.PartialRefresh(esriViewDrawPhase.esriViewGraphics, null, null);VB.NET Protected Overrides Sub OnMouseDown(ByVal arg As ESRI.ArcGIS.Desktop.AddIns.Tool.MouseEventArgs)MyBase.OnMouseDown(arg)Get the active view from the ArcMap static class.Dim activeView As IActiveView = My.ArcMap.Document.ActiveViewIf its a polyline object, get from the users mouse clicks.Dim polyline As IPolyline = GetPolylineFromMouseClicks(activeView)Make a color to draw the polyline.Dim rgbColor As IRgbColor = New RgbColorClass()rgbColor.Red = 255Add the users drawn graphics as persistent on the map.AddGraphicToMap(activeView.FocusMap, polyline, rgbColor, rgbColor)Best practice: Redraw only the portion of the active view that contains graphics.activeView.PartialRefresh(esriViewDrawPhase.esriViewGraphics, Nothing, Nothing)End Sub安装自定义的按钮和工具 要挺过 Visual Studio IDE安装自定义的工具和按钮,按下面步骤执行:1. 保存项目。 2. 从Build 下选择 Build Solution. 3. 查看Visual Studio.NET IDE的输出窗口。如果项目建立成功,所有自定义需要的文件都被捆绑为一个插件文件(.ESRIAddIn) ,能使用ESRIRegasm实用程序来安装。 这些步骤由项目中包含的一个向导后处理MSBuild 任务自动执行。 测试自定义的按钮和工具 要测试自定义的按钮和工具,按下列步骤执行:1. 启动ArcMap并打开一个地图文档。 2. 从Customize 菜单下选择Add-In Manager。在打开的插件管理对话框中,列出了所有以当前程序为目标的安装的插件。插件的信息,如名字,图像,描述等,也包含在插件管理器窗口中,如下图: 3. 点击下面的Customize 按钮打开自定义对话框。也可以从自定义菜单下直接打开自定义对话框。.4. 点选 Commands 页面,然后选择Add-In Controls 类别。自定义的工具和按钮将显示在右边的列表中,如下图: 5. 将这两个插件拖放到应用程序的工具栏上以测试它们的行为。 创建自定义的combo box 组合框包含一个可编辑的区域和一个下拉列表。用户可以根据需要从下拉列表中选择一个值。如果组合框是可以编辑的,那么它还包含一个可编辑区域让用户输入一个值。本届描述创建组合框的步骤,用来将一个ArcGIS Online图层数据添加到当前文档中。组合框可以包含在一个插件中,使用前述的项目模板方法。然而,你也可以使用Item模板往已有的插件工程中添加支持的自定义。 要把一个自定义的组合框添加到已有的插件项目中,按下面的步骤操作:1. 打开前面创建的CustomUIElement 项目。 2. 在Project Explorer中,右击你的项目,选择Add-New Item。Add New Item对话框如下图所示: 3. 展开Visual Basic或Visual C# 项目节点,展开下面的ArcGIS节点,选择Desktop Add-ins。 4. 从右边模板窗口中选择 Add-in component,然后点Add,这样就打开了ArcGIS Add-Ins Wizard。 5. 在Add-in Components下选择Combo Box,填入相应的基本属性,如下图:6. 完成后点Finish。这个组合框的XML元素被添加到config.xml文件中,指定的图像images 被拷贝到图像文件夹中, 包含模板代码的.NET 托管类也在项目中生成。 为自定义的组合框添加功能 组合框的功能由上面创建的托管类来实现。这个托管类必须继承ESRI.ArcGIS.Desktop.Addins.Combobox 基类。它的Add()和Remove() 方法都必须重写来实现添加和删除条目。 ComboBox类提供一些事件处理器,如OnSelChange() 和 OnEditChange(), 你可以重写它们来实现你需要的功能。 下面的代码显示了 ArcGIS Online链接被作为一个项目添加到组合框。当组合框中的选择变化,对应的ArcGIS Online超链接就会在默认的浏览器中打开。 C# public ArcGISAddin1() string serviceLinks = Add a World Map Service, World_Topo_Map, World_Terrain_Base ; foreach (string currLink in serviceLinks) Add(currLink); protected override void OnSelChange(int cookie) string selectedURL = null; / The value property provides the selected item. switch (Value) case World_Topo_Map: selectedURL = /ArcGIS/rest/services/World_Topo_Map/MapServer?f=lyr&v=9.2; break; case World_Terrain_Base: selectedURL = /ArcGIS/rest/services/World_Terrain_Base/MapServer?f=lyr&v=9.2; break; if (selectedURL != null) System.Diagnostics.Process.Start(selectedURL); base.OnSelChange(cookie);VB.NET Public Sub New() Dim serviceLinks As String() = Add a World Map Service, World_Topo_Map, World_Terrain_Base For Each currLink As String In serviceLinks Add(currLink) NextEnd SubProtected Overloads Overrides Sub OnSelChange(ByVal cookie As Integer)Dim selectedURL As String = Nothing The value property provides the selected item.Select Case Value Case World_Topo_Map If True Then selectedURL = /ArcGIS/rest/services/World_Topo_Map/MapServer?f=lyr&v=9.2 Exit Select End If Case World_Terrain_Base If True Then selectedURL = /ArcGIS/rest/services/World_Terrain_Base/MapServer?f=lyr&v=9.2 Exit Select End IfEnd SelectIf selectedURL IsNot Nothing Then System.Diagnostics.Process.Start(selectedURL)End IfMyBase.OnSelChange(cookie)End Sub安装自定义的组合框combo box 安装自定义的组合框,步骤如下:1. 保存项目。 2. 从Build菜单下选择Build Solution. 3. 查看Visual Studio .NET IDE的输出窗口。如果项目创建正确,窗口会显示创建正确,插件被部署到用户位置。你也可以使用Add-In Manager对话窗口来检验安装。. 测试自定义的组合框 测试自定义的组合框,首先你必须能访问因特网,然后按下面步骤执行:1. 启动ArcMap并打开一个地图文档。 2. 从Customize菜单下选择Customize Mode打开自定义对话框。 3. 点选Commands页,选择类别列表中的Add-In Controls ,如下图所示:4. 将这个自定义的组合框拖放到主程序工具栏上。 5. 选择其中一个列表项。ArcGIS Online File Download 对话框将打开。 6. 点Open图层被添加到地图上,如下图:创建自定义工具栏 自定义的工具栏上可以包含工具,按钮,工具面板,组合框,菜单等。这些工具栏项目可以是内建的,也可以是通过插件或COM组件自定义生成的。要创建一个和内建工具栏一样可停靠的工具栏,按下面步骤执行:1. 在Visual Studio的Project Explorer中,右击你的项目,现在New Item,点击Add,打开Add New Item 对话框。 2. 展开Visual Basic或是VisualC# 项目节点,展开下面的ArcGIS节点,选择Desktop Add-ins。 3. 从模板面板中选择Add-in component然后点击Add,这样就打开了 ArcGIS Add-Ins Wizard。 4. 点选Add-in Command Bars,然后选择Toolbar. 5. 在标题框中输入DharmaToolbar。 6. 点击Add Item以向工具栏添加栏目。工具栏可以包含一个或多个按钮,工具,组合框,菜单
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 四川省遂宁市二中2025年高三数学试题二诊模拟考试试题含解析
- 新疆昌吉州阜康二中学2025届初三4月模拟训练化学试题含解析
- 陕西省西安市未央区2025年初三“零诊”考试生物试题含解析
- 云南国土资源职业学院《化工过程自动控制与仪表》2023-2024学年第二学期期末试卷
- 江苏省泰州市凤凰初级中学2024-2025学年初三质量监测(一)生物试题试卷含解析
- 天津医学高等专科学校《定量遥感》2023-2024学年第二学期期末试卷
- 绿化种植培训方案
- 商务礼仪电梯培训
- 2025年个人SUV车库买卖合同
- 文明用语培训课件
- 光电芯片设计试题及答案
- 2025届江苏省南通市如皋市高三下学期适应性考试(二)物理考试(含答案)
- 人力资源管理行业的未来发展趋势
- 2025年许昌职业技术学院单招职业适应性考试题库及答案1套
- 2025年开封大学高职单招(数学)历年真题考点含答案解析
- 【9化一模】2025年安徽省合肥市蜀山区九年级中考一模化学试卷(含答案)
- 炎症性肠病(IBD)概述
- 护理质量与安全分析汇报
- 定期清洗消毒空调及通风设施制度
- 2025-2030轨道车涂料行业市场现状供需分析及投资评估规划分析研究报告
- 无线电基础知识培训课件
评论
0/150
提交评论