AE内置Command控件使用

樱木 原文 AE内置Command控件使用

直接使用AE内置的Command控件来完成功能

1、拉框放大

/// <summary>
/// 放大
/// </summary>
private void btnZoomIn_Click(object sender, EventArgs e)
{
    ControlsMapZoomInTool mapZoomIn = new ControlsMapZoomInTool();
    mapZoomIn.OnCreate(axMapMain.Object);
    axMapMain.CurrentTool = mapZoomIn as ITool;   //注意,此处如果写成mapZoomIn.OnClick(); 则不起作用
}


2、中心放大

/// <summary>
/// 放大
/// </summary>
private void btnZoomIn_Click(object sender, EventArgs e)
{
    ControlsMapZoomInFixedCommand mapZoomIn = new ControlsMapZoomInFixedCommand();
    mapZoomIn.OnCreate(axMapMain.Object);
    mapZoomIn.OnClick(); //此处没有问题
}

总结:当Command对象处理的不只是打开地图,显示全图,中心放大/缩小这类没有与地图交互的功能时,简单的使用OnClick即可,但是当需要的是拖动鼠标控制缩放,空间查询这类必须与地图进行交互的动作时,就必须设置MapControl的CurrentTool属性。

原文地址:https://www.cnblogs.com/arxive/p/6113425.html