php调用arcgis接口,歪兔工具条(YToolsforArcMap)简介之ArcGIS插件中通过菜单调用打开Toolbox工具...

俗话说的好:“an image is better than tons of words.” 先上个图。

5650f24d5e2b927dda6da01b2bc7dab7.gif

1.套路

很明显,这是一个插件,这个插件是通过“Extending ArcObjec”的方式开发的,相关信息可以扒本博。

通过menu按钮呼出了toolbox的工具窗口。

细看一下,它是由两级菜单实现的,第一级是工具类名,第二级是具体的工具按钮。

具体的呢:

①点击一级菜单ToolMenu展开二级菜单RasterToolMenu的按钮;

②二级菜单点击下去是执行了对应的Command。

d0cc426352d74a599794a452b06ba8ac.png

2.Command里的实现

①从模板创建一个Command,把一同生成的bmp图标删掉,相关加载代码也在该类中删掉,因为这个图没啥用。

ac25f176d386373d296b5f461c6bed78.png

②使该类实现IToolCommand接口,以调用扩展方法。

③对相关属性进行赋值。

e7432a04a13d7805ee4da7ce0968fd56.png

④在OnClick方法中调用扩展方法,传入tool工具的名字进行调用。

需要注意的是tool工具名指的是如图的Name。

f3cc7d09ee4e6b95f742ca27478f8283.png

⑤IToolCommand接口及扩展方法代码如下

namespace YToolsForArcMap.Command.Tool

{

internal interface IToolCommand

{

}

internal static class Extend

{

public static void ShowToolCommandWindow(this T t, string toolName) where T:IToolCommand

{

string dllFolderPath =Utils.Path.GetPath.GetThisDllFolderPath();

//打开tool窗口主要代码就是下面3行。

IGPToolCommandHelper gPToolCommandHelper = new GPToolCommandHelperClass();

gPToolCommandHelper.SetToolByName($"{dllFolderPath}/Tools/YToolsforArcMap.tbx",toolName);

gPToolCommandHelper.Invoke(null);

}

}

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值