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

1.套路

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

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

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

具体的呢:

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

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

2.Command里的实现

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

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

③对相关属性进行赋值。

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

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

⑤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);

}

}

}

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

  1. winform 日期控件放在工具条(先放一个label 占好位置)上。工具条和其他控件都要求有鼠标的精准。...

    注意两点: 1. 要先放一个label 占好位置 2.鼠标动作要到位,才能放置好. 怎么检查是否放置好了. 最大化,最小化一下就知道了. 工具条的使用.最好是从左向右排列,全部都是左对齐的,日期控件放 ...

  2. AXI三种接口及DMA DDR XDMA介绍(应用于vivado中的ip调用)

    一.AXI--高级可扩展接口(UG1037) 参考资源: [SDK篇_58~62_AXI接口简介[Xilinx]+[Vivado]+[AXI4总线]+[FPGA]-哔哩哔哩] 关于AXI握手过程都讲解 ...

  3. 调用API接口登录后,获取用户信息保存到Vuex中并渲染到Vue页面

    文件封装 步骤 核心请求文件 在 apiUse 文件夹中的 index.js 文件写 API接口方法 baseURL + url 后台完整地址 将信息写入 store 文件夹中的 index.js 文 ...

  4. GIS二次开发:实验四 编辑工具条的实现

    实验四 编辑工具条的实现 一.实验目的 1.熟悉arcgis中的编辑工具 2.掌握通过arcgis engine 的toolbarcontrol添加编辑工具条 3.掌握自定义工具条的添加 二.实验仪器 ...

  5. 13_MFC工具条和状态栏

    MFC工具条和状态栏 Windows控制窗口 Windows (Windows95或者以上版本) 提供了系列通用控制窗口,其中包括工具条(ToolBar).状态栏(StatusBar).工具条提示窗口 ...

  6. [Eclipse]GEF入门系列(六、添加菜单和工具条)

    我发现一旦稍稍体会到GEF的妙处,就会很自然的被它吸引住.不仅是因为用它做出的图形界面好看,更重要的是,UI中最复杂和细微的问题,在GEF的设计中无不被周到的考虑并以适当的模式解决,当你了解了这些,完 ...

  7. MFC 教程【13_MFC工具条和状态栏 】

    MFC工具条和状态栏 Windows控制窗口 Windows (Windows95或者以上版本) 提供了系列通用控制窗口,其中包括工具条(ToolBar).状态栏(StatusBar).工具条提示窗口 ...

  8. 工具条研究手记(2) - 认识CToolBar工具条类

    工具条研究手记(2) - 认识CToolBar工具条类 作者:佚名    文章来源:VC知识库    点击数: <script src="http://www.91tech.net/A ...

  9. 教你一招:全面认识浏览器工具条

      一. 什么是工具条 工具条(英文名称为Toolbar),又名工具栏.工具条是什么?在Google的定义搜索结果中,有17种定义.根据微软的官方定义,工具条是由一组工具条按钮或其他功能控件组成的一个 ...

最新文章

  1. Android AOSP 编译sdk
  2. 从2018年12月起陆续将博客搬至博客园(cnblogs)
  3. python localtime 与utc时间差5分钟_在linux中用localtime()显示的时间与实际时间不相符,不是与北京时间差8个小时,而是差15个小时...
  4. c++STL容器的Map和multimap
  5. 想咸鱼翻身不粘锅?加油
  6. 《CLR via C#》之线程处理——线程池与任务
  7. python语言支不支持常量_python实现不可修改的常量
  8. SAP License:SAP 移动类型详解
  9. 使用FileTypesMan修复office关联图标
  10. 一种雷达和电子海图图像叠加方法
  11. MacBook快捷键
  12. php天猫列表数据抓取,天猫数据抓取方法_简易采集 - 八爪鱼采集器
  13. 互联网巨头的2B市场变革
  14. 【(伪)数论】洛谷1943 Local Maxima
  15. 手游传奇刷元宝_战神传奇手游刷元宝方法技巧大全
  16. 亚马逊个人创业这条路行的通吗?
  17. opencv3之SVD
  18. Android9.0版本Vold服务源码分析
  19. 修改DNS—出现一个意外,不能完成更改
  20. sqlserver wait millis 60003, active 0, maxActive 20, creating 0(String)

热门文章

  1. 原生Android缩略图填满SD卡的问题
  2. Python初学小知识(五):字符串
  3. 动态正则化权重系数_蘑菇街增量学习番外篇三:deepFM的动态正则实践
  4. IPS屏有哪些优缺点?
  5. 壳聚糖-甲氨蝶呤|Chitosan-MTX|甲氨蝶呤-PEG-壳聚糖
  6. 基于java+ssm+vue+mysql的学生考勤管理系统
  7. lombok 基础注解之 @NonNull
  8. 即便是SQL Guy, 也无法逃离UML
  9. 小侃设计模式(一)-设计模式七大原则
  10. iocomp new for delphi custom cracking