2020-02-22ICommond 和ITool命令 操作地图
2020-02-23 本文已影响0人
追风蒲公英
ICommond 和ITool命令操作地图
在ArcGIS Engine中,一些工具对象是从ICommond继承来的,Esri已经封装好供直接调用,如ControlsMapZoomOutTool、ControlsMapZoomPanTool等。
-
继承ICommond接口的对象类参照表
ICommand.png
与ICommand接口类似,ArcGIS Engine也有很多对象继承了ITool接口,如ControlsMapPanTool、ControlsNewCircle Tool等。
-
继承IMool接口的对象类参照表
ITool.png
ITool接口的定义与ICommond接口的定义式不同的。
- ICommond接口定义了一般按钮的特性:
- 点击→完成事件→完成
- 该接口类似于一个命令按钮,单击执行命令。如:全图显示、固定比例缩放等
- Tool接口则定义了独占操作按钮的特性:
- 点击→等待操作→操作→操作→命令操作完成
- 该接口是一个需要与界面交互的工具,如拉框放大、绘制矩形等
//固定比例放大
private void btnZoomInFixed_Click(object sender,EventArgs e)
axlMapControl1,Current Tool=null:BSRI,ArCGIS.SystemUI,IComnand pCommand = nev ESRI.ArcGIS.Controls.ControlslMlapZoomInFixedComnand():pCommand.OnCreate(axlMapContro11.Object):pCommand.OnClick():
//拉框放大
private void btnZoomIn_Click(object sender,EventArgs e)
axlMapControl1.CurrentTool=null:ESRI,ArCGIS,SystenUI,ICommanddpTool =new ESRI.ArcGIS.Controls.ControlslMapZoomInTool():pTool.OnCreate(axlMapControl1.Object):axlMapControl1.CurrentTool=pTool asESRI.ArcGIS.SystemUI.IToo]:
![](https://img.haomeiwen.com/i13319583/fe03db2834981c94.png)