ArcEngine命令控件使用指南
需积分: 9 177 浏览量
更新于2024-09-21
收藏 4KB TXT 举报
"这篇教程主要关注的是如何在ArcEngine中使用空间控件,特别是通过Command控件来与MapControl和PageLayoutControl进行交互。这些控件位于ESRI.ArcGIS.Controls.dll类库中的ESRI.ArcGIS.Controls命名空间下,包括地图浏览、查询、图斑选取和编辑等功能。教程中会介绍如何创建和使用这些控件,以及如何将它们添加到工具栏中以实现用户界面的交互功能。"
在ArcEngine中,Command控件是与地图交互的关键元素。这些控件允许开发者执行各种地图操作,如浏览、查询、选择和编辑地理数据。例如,`MapControl`用于显示地图,而`PageLayoutControl`则用于处理布局,两者都是ArcGIS桌面应用程序中的核心组件。
在实现这些功能时,首先需要引用ESRI.ArcGIS.Controls.dll库,该库包含了所有与控件相关的类。例如,可以通过创建一个`ControlsOpenDocCommandClass`的实例来实现打开文档的功能,如下所示:
```csharp
ICommand command = new ControlsOpenDocCommandClass();
command.OnCreate(m_mapControl.Object);
command.OnClick();
```
在这里,`OnCreate`方法接收一个`MapControl`的对象,确保Command与特定的地图控件关联。`OnClick`方法则触发命令的执行。
对于内置的Command控件,ArcEngine已经提供了对应的COM对象,可以直接通过`ProgID`添加到工具栏上,如增加缩放工具的代码:
```csharp
axToolbarControl1.AddItem("esriControls.ControlsMapZoomInTool");
```
这里的`esriControls.ControlsMapZoomInTool`是`MapZoomInTool`的`ProgID`,它将这个内置的Command控件添加到了`axToolbarControl1`工具栏上。
但是,如果需要自定义Command控件,可以创建一个新的.NET类并实现`ICommand`接口。在创建这个类时,需要重写`OnCreate`方法来设置Command与哪个控件关联,并重写`OnClick`来定义命令的行为。当创建.NET类的实例时,ArcGIS会自动创建一个Runtime Callable Wrapper (RCW)来处理COM通信。
ArcEngine中空间控件的使用涉及了对Command控件的理解、与地图控件的交互以及如何在用户界面中集成这些控件。通过熟练掌握这部分内容,开发者能够构建出具有丰富地图操作功能的应用程序。
2015-10-22 上传
2009-03-08 上传
2012-10-22 上传
2023-05-19 上传
2024-01-23 上传
2023-05-12 上传
2024-01-10 上传
2023-08-03 上传
2023-09-28 上传
wangsijiajia
- 粉丝: 3
- 资源: 11
最新资源
- BottleJS快速入门:演示JavaScript依赖注入优势
- vConsole插件使用教程:输出与复制日志文件
- Node.js v12.7.0版本发布 - 适合高性能Web服务器与网络应用
- Android中实现图片的双指和双击缩放功能
- Anum Pinki英语至乌尔都语开源词典:23000词汇会话
- 三菱电机SLIMDIP智能功率模块在变频洗衣机的应用分析
- 用JavaScript实现的剪刀石头布游戏指南
- Node.js v12.22.1版发布 - 跨平台JavaScript环境新选择
- Infix修复发布:探索新的中缀处理方式
- 罕见疾病酶替代疗法药物非临床研究指导原则报告
- Node.js v10.20.0 版本发布,性能卓越的服务器端JavaScript
- hap-java-client:Java实现的HAP客户端库解析
- Shreyas Satish的GitHub博客自动化静态站点技术解析
- vtomole个人博客网站建设与维护经验分享
- MEAN.JS全栈解决方案:打造MongoDB、Express、AngularJS和Node.js应用
- 东南大学网络空间安全学院复试代码解析