Add-In即模块加载项,是一种能够快速扩展桌面应用程序功能的全新扩展方式。
一、创建新项目
1、打开VS2002,选择创建新项目。
2、在搜索框中输入“arcgis pro”,在搜索结果中选择【ArcGIS Pro 模块加载项】创建项目,注意选择语言应该是C#,而不是VB。
3、点击下一步,填写项目名称、位置和解决方案名称,可随意,点击创建。
生成的主界面如下:
二、添加一个按钮,并重写OnClick方法
1、在资源管理器中右键点击项目,选择【添加】—【新建项】。
2、在添加新项选项框中,左侧选择【ArcGIS】,主选框中选择【ArcGIS Pro 按钮】,点击添加。
生成按钮后,资源管理器里会新生成一个【Button1.cs】。
【Config.daml】文件里也会自动新增一段</button>代码:
<button id="ProAppModule1_Button1" caption="Button 1" className="Button1" loadOnClick="true" smallImage="pack://application:,,,/ArcGIS.Desktop.Resources;component/Images/GenericButtonBlue16.png" largeImage="pack://application:,,,/ArcGIS.Desktop.Resources;component/Images/GenericButtonBlue32.png">
<tooltip heading="Tooltip Heading">Tooltip text<disabledText /></tooltip>
</button>
</group>中也会新增一行:
<button refID="ProAppModule1_Button1" size="large" />
代码运行的结果:当Pro加载时,会在“菜单栏-加载项-Group 1”中显示新增的按钮。这部分暂时先不修改。
3、双击新生成的【Button1.cs】,在OnClick()中输入:
MessageBox.Show("Hello World");
老惯例了……
三、调试
1、点击菜单【生成】—【生成解决方案】。
2、点击工具栏的【调试】按钮。系统会自动打开ArcGIS Pro。
3、点击打开的ArcGIS Pro的选项卡【加载项】,可以看到下面有一个新的组,组里有一个按钮,这就是我们刚刚新建的按钮。
4、点击按钮,弹出消息框,运行成功。
四、修改新增按钮的布局和属性
主要就是修改【Config.daml】文件的代码。修改后的局部代码如下:
<modules>
<insertModule id="ProAppModule1_Module" className="Module1" autoLoad="false" caption="Module1">
<!-- uncomment to have the control hosted on a separate tab-->
<tabs>
<tab id="ProAppModule1_Tab1" caption="新的选项卡">
<group refID="ProAppModule1_Group1"/>
</tab>
</tabs>
<groups>
<!-- comment this out if you have no controls on the Addin tab to avoid
an empty group-->
<group id="ProAppModule1_Group1" caption="新的组" appearsOnAddInTab="false">
<!-- host controls within groups -->
<button refID="ProAppModule1_Button1" size="large" />
</group>
</groups>
<controls>
<!-- add your controls here -->
<button id="ProAppModule1_Button1" caption="新的按钮" className="Button1" loadOnClick="true"
smallImage="Images/BexDog16.png"
largeImage="Images/BexDog32.png">
<tooltip heading="提示">这是提示信息<disabledText /></tooltip>
</button>
</controls>
</insertModule>
</modules>
修改后调试结果如下:
具体修改内容如下:
(1)新增了一个</tab>,内部引用了一个<group refID="ProAppModule1_Group1"/>。注意refID和下面group的ID要一致。
(2)caption即为各个控件在界面显示的标签。
(3)<group/>下的appearsOnAddInTab默认为true,即会添加到默认的【加载项】选项卡下,如果你新建了选项卡,建议改为【false】。
(4)</tooltip>即为提示信息。
(5)</button>下的【smallImage】和【largeImage】是按钮在界面上显示的图标。这里我更改了图标。首先需要在资源管理器中加入自己的图片,图片格式和大小建议参考系统自带的那2个。然后选择新添加的图片,在右侧属性栏中更改【生成操作】为【内容】。最后在代码里把路径修改好,见上面的代码。
如此,便修改完成。
五、生成Add-In插件
1、如果是第一次生成,点击菜单【生成】—【生成选定内容】。如果不是第一次,可以点击【重新生成选定内容】。待下方消息栏出现如下信息即为生成成功。
2、找到项目目录【bin\Debug\net6.0-windows】下的【.esriAddinX】文件,双击,即可安装到ArcGIS Pro上。
3、 打开ArcGIS Pro。结果和调试时的一致,即为安装成功。
4、点击【工程】—【加载项管理器】,即可看到刚刚安装的工具,如果想移除掉,可以点击右下方的【删除此加载项】。
至此,我们的第一个Add-in项目就算完成了。虽然很简陋。。