Engine工具栏按钮的使用详解
Engine提供的工具条能够轻易实现各种操作,非常方便,可是不好的地方就是太死板了,toolbar的图标都不能改。因此需要自己做按钮做控件去实现这些功能。
比如说放大和全景
//放大
private void ZoomIn_Click(object sender, RoutedEventArgs e)
{
ControlsMapZoomInTool zoomintool = new
ControlsMapZoomInTool();
zoomintool.OnCreate(mapControl.Object);
mapControl.CurrentTool =
(ESRI.ArcGIS.SystemUI.ITool)zoomintool;
}
//全景
private void zoomentire_Click(object sender, RoutedEventArgs
e)
{
ControlsMapFullExtentCommand fullview = new
ControlsMapFullExtentCommand();
fullview.OnCreate(mapControl.Object);
fullview.OnClick();
}
分别是调用了CurrentTool 和OnClick的方式。
ArcGIS MapControl 中常用命令
下面列举更多的一些命令。
功能类 事件
放大 ControlsMapZoomInTool 设置
CurrentTool
缩小ControlsMapZoomOutTool 设置
CurrentTool
打开文件ControlsOpenDocCommand OnClick()
添加数据ControlsAddDataCommand OnClick()
全图ControlsMapFullExtentCommand OnClick()
查找ControlsMapFindCommand OnClick()
属性工具ControlsMapIdentifyTool 设置
CurrentTool
选择Feature ControlsSelectFeaturesTool 设置
CurrentTool
清除选择ControlsClearSelectionCommand OnClick()
开始编辑ControlsEditingStartCommand OnClick()
保存编辑ControlsEditingSaveCommand OnClick()
停止编辑ControlsEditingStopCommand OnClick()
编辑工具ControlsEditingEditTool 设置
CurrentTool
属性编辑命
令
ControlsEditingAttributeCommand OnClick()
测量工具ControlsMapMeasureTool 设置
CurrentTool
创建路径(网
络分析)
ControlsNetworkAnalystRouteCommand OnClick()
创建路径点ControlsNetworkAnalystCreateLocationTool 设 置
CurrentTool
最短路径查
询
ControlsNetworkAnalystSolveCommand OnClick()
Scene缩小ControlsSceneExpandFOVCommand OnClick()
当然,还有很多很多其他的命令。从上面的列表比较我们也可以看出,一般
来说,如果类的后缀是Command,则用OnClick方法;如果是Tool,则设置Map
的CurrentTool属性为该工具。
ArcSence中的命令使用示例
以下是scenecontrol的一些:
private void btn_zoomin_Click(object sender, EventArgs e)
{
ICommand command = new
ControlsSceneZoomInTool();//ControlsSceneZoomInToolClass();
command.OnCreate(this.axSceneControl1.Object);
this.axSceneControl1.CurrentTool = command as
ESRI.ArcGIS.SystemUI.ITool;
}
private void btnzoomout_Click(object sender, EventArgs e)
{
ICommand command = new ControlsSceneZoomOutTool();
command.OnCreate(this.axSceneControl1.Object);
this.axSceneControl1.CurrentTool = command as
ESRI.ArcGIS.SystemUI.ITool;
}
//飞行模式。。
private void btntoolfly_Click(object sender, EventArgs e)
{
ICommand command = new
ControlsSceneFlyToolClass();//ControlsSceneZoomInToolClass();
command.OnCreate(this.axSceneControl1.Object);
this.axSceneControl1.CurrentTool = command as
ESRI.ArcGIS.SystemUI.ITool;
}
//选择模式..
private void btnSelect_Click(object sender, EventArgs e)
{
ICommand command = new
ControlsSceneSelectFeaturesToolClass();//ControlsSceneZoomInToolClass();
command.OnCreate(this.axSceneControl1.Object);
this.axSceneControl1.CurrentTool = command as
ESRI.ArcGIS.SystemUI.ITool;
}
//放大至目标区域
private void btntargetzoom_Click(object sender, EventArgs e)
{
ICommand command = new
ControlsSceneTargetZoomToolClass();//ControlsSceneZoomInToolClass();
command.OnCreate(this.axSceneControl1.Object);
this.axSceneControl1.CurrentTool = command as
ESRI.ArcGIS.SystemUI.ITool;
}
//全景
private void btnFullExtern_Click(object sender, EventArgs e)
{
ICommand command = new ControlsSceneFullExtentCommandClass();
command.OnCreate(this.axSceneControl1.Object);
command.OnClick();
}
private void btnpan_Click(object sender, EventArgs e)
{
ICommand command = new ControlsScenePanTool();
command.OnCreate(this.axSceneControl1.Object);
this.axSceneControl1.CurrentTool = command as
ESRI.ArcGIS.SystemUI.ITool;
}
private void button1_Click(object sender, EventArgs e)
{
ICommand command = new ControlsSceneNavigateTool();
command.OnCreate(this.axSceneControl1.Object);
this.axSceneControl1.CurrentTool = command as
ESRI.ArcGIS.SystemUI.ITool;
}
相关文章
- CSRF 攻击详解
- javaWeb服务详解【客户端调用】(含源代码,测试通过,注释) ——EmpService层
- 跨域资源共享 CORS 详解(转)
- Linux的chattr与lsattr命令详解
- openstack详解(十六)——openstack Nova安装与数据库配置
- ELK详解(十)——Logstash收集Tomcat日志实战
- Linux shell命令行参数解析getopts/getopt用法详解
- android 禁止第三方apk安装和卸载的方法详解
- Java枚举详解
- 第27篇 QML基本元素 — 按钮详解(Button)
- Linux内核Thermal框架详解二、Thermal Core(1)
- Netty详解