Arcengine轻松设计工具栏

轻松设计工具栏


ICommand+ITool+this.mapcontrol.CurrentTool设计工具栏非常的轻松啊
如缩小: ICommand pCommand = new ControlsMapZoomOutToolClass();

ITool pTool = pCommand as ITool;
pCommand.OnCreate(this.MapControl.Object);
this.MapControl.CurrentTool = pTool;
如地物属性图上查询:
ICommand pCommand = new ControlsMapIdentifyToolClass();
ITool pTool = pCommand as ITool;
pCommand.OnCreate(this.MapControl.Object);
this.MapControl.CurrentTool = pTool;
如全图:
ICommand pCommand = new ControlsMapFullExtentCommand ();
ITool pTool = pCommand as ITool;
pCommand.OnCreate(this.MapControl.Object);
this.MapControl.CurrentTool = pTool;
pCommand.OnClick();

ICommand下有Bitmap,Caption,Name,Tooltip成员,可供修改其标签
同时要注意ICommand.OnCreate(Object)是在点击图的时候发生该工具;ICommand.OnClick(Object)是在点击按钮的时候就会发生。

此外,建议把ICommand设为全局,并在设置完后给他名字,这样比较好判断当前工具是什么。

取消工具的话也非常简单:
this.MapControl.CurrentTool=null;
就行了。
ToolControl中改变的鼠标也可以这样改回来。


作者:jinqier
出处:http://www.cnblogs.com/jinqier/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

原文地址:https://www.cnblogs.com/jinqier/p/2875141.html