GIS程序设计与开发AE实习教程实习九:ArcGIS Engine实现自定义命令和工具.pdfVIP

GIS程序设计与开发AE实习教程实习九:ArcGIS Engine实现自定义命令和工具.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《ArcGIS Engine+C#实例开发教程》 By Daniel 实习九:ArcGIS Engine 实现自定义命令和工具 【思路】[1]实现ICommand 接口:必须重写OnCreate,OnClick 方法. [2]实现ITool 接口:重写OnCreate,OnMouseDown,OnMouseMove,OnMouseUp 方法. [3]继承BaseCommand,BaseTool 类:这两个基类提供了ICommand 或ITool 接口所有 方法的通用实现代码,根据需要重写其中的方法。BaseCommand 的OnCreate 方法必须重写. 属性根据自己需要重新赋值. 1、打开程序集——打开实习2-8 所建项目; 1.1 在项目中选择添加新项cleartool.cs 类,选择ArcGIS 类别下的模板Base Command 或 Base Tool ,如图: 1.2 点击确定之后会弹出一个对话框,让 你选择要创建的Command 适用的ArcGIS 组 件,选择 MapControl or PageLayoutControl Command 则可使Command 用在普通的平面 地图控件上.  最终生成的代码文件中,创建了一个类,继承自BaseCommand ,提供了可供COM 识别 的一系列标签,实现了BaseCommand 的必要方法OnCreate 和OnClick 。其中重要的部分 说明如下: [Guid(ef86c813-d6ef-4212-adea-8ff81031ac5c)] :使这个全局ID 使此组件可以注册在你 的电脑上; [ProgId(DevGISForms.cleartool)] :提供了这个COM 组件的ProgId ,这成为调用AddItem —1 / 5— 《ArcGIS Engine+C#实例开发教程》 By Daniel 时传入的参数. public sealed class cleartool : BaseCommand:指定AddDateTool 类继承自ESRI BaseTool 抽象类;密封(sealed )类修饰:说明一个类不能被继承。此类的设计是为了限制其他类从 该类继承. base.m_name:这个名称成为你在查找Command 时进行比较的字符串名称。 OnCreate :方法中传递的参数hook 成为绑定到这个Command 控件的交互对象,被保存 在一个 IHookHelper 成员变量中,通过该成员的 Hook 属性即可获得对交互对象(往往是 MapControl 的弱引用). 同时被创建的还有一个bmp 图片,是被添加到工具栏时显示的按钮图片,默认是一个傻 傻的兔子 . 2 、进行重写代码,实现控制工具栏,清除活动工具. 2.1 定义ToolbarControl,向cleartool 类的构造函数中增加下列代码: //:是继承符号说明继承BaseCommand ;sealed 说明受保护,不受其他类继承 public sealed class cleartool : BaseCommand { #region COM Registration Function(s) private IHookHelper m_hookHelper; //定义ToolbarControl IToolbarControl pToolbarControl; public cleartool() { // // TODO: Define values for the public properties // base.m_category = 自定义命令; //localizable text

文档评论(0)

我思故我在 + 关注
实名认证
文档贡献者

部分用户下载打不开,可能是因为word版本过低,用wps打开,然后另存为一个新的,就可以用word打开了

1亿VIP精品文档

相关文档