年度变更建库软件5.0版本
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

97 lines
3.4 KiB

using ESRI.ArcGIS.Carto;
using ESRI.ArcGIS.Controls;
using KGIS.Framework.Commands;
using KGIS.Framework.Core.Attributes;
using KGIS.Framework.Utils;
using KGIS.Framework.Utils.Helper;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Kingo.Plugin.MapView.Commands
{
//[PathAttribute("Kingo.Plugin.MapView.Commands.ClearAllGraphicsCommand")]
public class ClearAllGraphicsCommand : BaseMenuCommand
{
public IHookHelper m_hookHelper = null;//获取地图控件和主窗体
public override void OnClick()
{
try
{
if (m_hookHelper != null)
{
IGraphicsContainer graphics = m_hookHelper.ActiveView.GraphicsContainer;
if (graphics == null)
{
return;
}
graphics.Reset();
IElement ele = null;
while ((ele = graphics.Next()) != null)
{
IElementProperties eleProp = ele as IElementProperties;
if (eleProp.Name == "BaseElement")
continue;
(ele as IGroupElement).ClearElements();
}
//graphics.DeleteAllElements();
if (this.m_hookHelper != null && this.m_hookHelper.Hook != null && (this.m_hookHelper.Hook as IMapControl4) != null)
{
//在地图上测量,画一条线或者图形,离开绘制图形界面,功能有错误
IMapControl4 currentMap = this.m_hookHelper.Hook as IMapControl4;
currentMap.CurrentTool = null;
//刷新地图
(this.m_hookHelper.Hook as IMapControl4).ActiveView.PartialRefresh(esriViewDrawPhase.esriViewGraphics, null, (this.m_hookHelper.Hook as IMapControl4).ActiveView.Extent);
}
}
else
{
MessageHelper.Show("hookHelper获取失败");
//return;
}
}
catch (Exception ex)
{
LogAPI.Debug("点击 清除图形 时异常,异常信息如下:");
LogAPI.Debug(ex);
LogAPI.Debug("点击 清除图形 时异常信息结束");
}
}
public override void OnCreate(object Hook)
{
try
{
if (Hook != null)
{
if (m_hookHelper == null)
{
m_hookHelper = new HookHelper();
m_hookHelper.Hook = Hook;
}
//m_hookHelper.Hook = hook;
if (m_hookHelper.ActiveView == null)
{
m_hookHelper = null;
//return;
}
}
}
catch (Exception ex)
{
m_hookHelper = new HookHelper();
m_hookHelper.Hook = null;
//return;
LogAPI.Debug("初始化 清除图形 时异常,异常信息如下:");
LogAPI.Debug(ex);
LogAPI.Debug("初始化 清除图形 时异常信息结束");
}
}
}
}