年度变更建库软件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.
 
 

695 lines
30 KiB

using ESRI.ArcGIS.ADF;
using ESRI.ArcGIS.Carto;
using ESRI.ArcGIS.Controls;
using ESRI.ArcGIS.Display;
using ESRI.ArcGIS.Geodatabase;
using ESRI.ArcGIS.Geometry;
using KGIS.Framework.EngineEditor;
using KGIS.Framework.Utils;
using KGIS.Framework.Utils.Helper;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;
using KGIS.Framework.AE;
using KGIS.Framework.Platform;
using System.Runtime.InteropServices;
using Kingo.Plugin.EngineEditor.helper;
using KGIS.Framework.Maps;
namespace Kingo.Plugin.EngineEditor.Commands.Tools
{
/// <summary>
/// 变化图斑提取工具
/// </summary>
public class CmdExtractFeatureTool : BaseToolCmd
{
public event EventHandler<object> ExtComplete;
//IFeatureLayer m_SourceJCTBLayer;
IFeatureLayer m_SourceJCDLTBLayer;
IFeatureLayer m_SourceJCTBLayer;
IFeatureLayer m_TargetLayer;
private IElement tempElement = null;
List<DataDicTionary> dlbmDic = null;
IPoint MousePoint = null;
ITextElement beforeEl = null;
public string JCBH { get; set; }
public override void OnCreate(object hook)
{
base.OnCreate(hook);
//if (mapService != null)
//{
//m_SourceJCTBLayer = mapService.GetFeatureLayerByName("JCTB");
//m_SourceJCDLTBLayer = MapsManager.Instance.MapService.GetFeatureLayerByName("DLTB");
//}
}
public void SetSourceLayer(IFeatureLayer pLayer)
{
m_SourceJCTBLayer = pLayer;
}
public override bool Deactivate()
{
if (tempElement != null)
{
try
{
m_pHookHelper.ActiveView.GraphicsContainer.DeleteElement(tempElement);
m_pHookHelper.ActiveView.PartialRefresh(esriViewDrawPhase.esriViewGraphics, null, m_pHookHelper.ActiveView.Extent);
}
catch (Exception ex)
{
LogAPI.Debug(ex);
}
}
tempElement = null;
base.Deactivate();
this.m_deactivate = true;
return this.m_deactivate;
}
public override void OnClick()
{
base.OnClick();
m_TargetLayer = (m_pEditor as EngineEditorClass).TargetLayer as IFeatureLayer;
//dlbmDic = Platform.Instance.DicHelper.GetDic(DicTypeEnum.DLBM);
//if (mapService == null)
// mapService = MapsManager.Instance.MapService;
//if (mapService != null)
//{
//m_SourceJCTBLayer = MapsManager.Instance.MapService.GetFeatureLayerByName("DLTB");
// m_SourceJCDLTBLayer = MapsManager.Instance.MapService.GetFeatureLayerByName("JC_DLTB");
//}
}
public override bool Enabled
{
get
{
if (m_pEditor == null)
{
return false;
}
if (m_pEditor.EditState != esriEngineEditState.esriEngineStateEditing)
{ return false; }
if ((m_pEditor as EngineEditorClass).TargetLayer == null)
{ return false; }
return true;
}
}
public override void OnMouseDown(int Button, int Shift, int X, int Y)
{
}
public override void OnMouseMove(int Button, int Shift, int X, int Y)
{
if (Button != 0)
{
return;
}
IPoint point = m_pHookHelper.ActiveView.ScreenDisplay.DisplayTransformation.ToMapPoint(X, Y);
List<IFeature> SourceFeatures = FeatureAPI.Identify(point, m_SourceJCTBLayer);
//if (SourceFeatures.Count == 0)
//{
// SourceFeatures = FeatureAPI.Identify(point, m_SourceJCDLTBLayer);
//}
if (SourceFeatures.Count == 0) return;
DrawFeature(SourceFeatures[0]);
}
public override void Refresh(int hDC)
{
}
public override void OnMouseUp(int Button, int Shift, int X, int Y)
{
if (Button != 1)
{
return;
}
IPoint point = m_pHookHelper.ActiveView.ScreenDisplay.DisplayTransformation.ToMapPoint(X, Y);
MousePoint = point;
List<IFeature> SourceJCDLTBFeatures = FeatureAPI.Identify2(point, m_SourceJCTBLayer);
IGeometry sourceGeometry = null;
foreach (IFeature item in SourceJCDLTBFeatures)
{
if (sourceGeometry == null)
sourceGeometry = item.ShapeCopy;
else
sourceGeometry = FeatureAPI.Union(sourceGeometry, item.ShapeCopy);
}
if (sourceGeometry == null)
{
sourceGeometry = point;
}
List<IFeature> TargetFeatures = FeatureAPI.Identify2(sourceGeometry, m_TargetLayer);
m_pEditor.StartOperation();
if (TargetFeatures.Count != 0)
{
//判断图形是否存在且图形是否一致
if (TargetFeatures.Count == 1)
{
if (FeatureAPI.GetEqual(TargetFeatures[0].ShapeCopy, sourceGeometry))
{
return;
}
}
//要分割图斑提取
//TargetGeometry 监测图斑
IGeometry tempTargetGeo = null;
foreach (IFeature item in TargetFeatures)
{
if (tempTargetGeo == null)
tempTargetGeo = item.ShapeCopy;
else
tempTargetGeo = FeatureAPI.Union(tempTargetGeo, item.ShapeCopy);
}
//SourceGeometry 点选资源图斑
IGeometry tempSourceGeo = sourceGeometry;
//相交部分
IGeometry tempInterSectGeo = FeatureAPI.InterSect(tempTargetGeo, tempSourceGeo);
if (tempInterSectGeo != null && !tempInterSectGeo.IsEmpty)
{
//测试 绘制相交部分图形 红色
//DrawBaseGraph(tempInterSectGeo, 255, 0, 0);
//原监测图斑减去相交部分
foreach (IFeature TargetFeature in TargetFeatures)
{
TargetFeature.Shape = FeatureAPI.Difference(TargetFeature.Shape, tempInterSectGeo);
if (TargetFeature.Shape.IsEmpty)
TargetFeature.Delete();
else
TargetFeature.Store();
}
//添加相交部分 图斑
AddIntersetFeature(tempInterSectGeo, point);
}
//添加差异部分 图斑
//测试 绘制差异部分图形 绿色
//DrawBaseGraph(FeatureAPI.Difference(tempSourceGeo, tempInterSectGeo), 0, 255, 0);
AddIntersetFeature(FeatureAPI.Difference(tempSourceGeo, tempInterSectGeo), point);
//if (MessageHelper.ShowYesNoAndTips("是否要删除已提取图斑?") != System.Windows.Forms.DialogResult.Yes)
//{
// return;
//}
//foreach (var item in TargetFeatures)
//{
// item.Delete();
//}
////ExtComplete?.Invoke(null, false);
//KGIS.Framework.Platform.Platform.Instance.SendMsg(new KGIS.Framework.Utils.Interface.NotifyMsgPackage() { Content = "RefreshTBBGDetail", MsgType = "RefreshTBBGDetail" });
//return;
}
else //添加所有source 图斑
{
//List<IFeature> SourceJCDLTBFeatures = FeatureAPI.Identify2(point, m_SourceJCTBLayer);
if (SourceJCDLTBFeatures.Count == 0)
{
return;
}
IFeatureClass m_TargetFC = m_TargetLayer.FeatureClass;
IFeatureCursor InsertCursor = m_TargetFC.Insert(true);
IFeatureBuffer buffer = m_TargetFC.CreateFeatureBuffer();
//查找监测编号
IFeatureSelection featureS = m_SourceJCTBLayer as IFeatureSelection;//编辑图层
ISelectionSet pSelectionset = featureS.SelectionSet;//目标图层的被选中图斑
ICursor pCursor;
pSelectionset.Search(null, true, out pCursor);
IFeatureCursor featureCur = pCursor as IFeatureCursor;
IFeature pFeature = featureCur.NextFeature();
if (pFeature != null)
{
JCBH = pFeature.Value[pFeature.Fields.FindField("JCBH")].ToString();
}
if (featureCur != null)
{
Marshal.ReleaseComObject(featureCur);
}
#region
//if (SourceJCDLTBFeatures.Count != 0)
//{
// //图形从监测图斑获取
// buffer.Shape = SourceJCTBFeatures[0].ShapeCopy;
// //属性从基础地类图斑获取
// for (int i = 0; i < m_TargetFC.Fields.FieldCount; i++)
// {
// IField field = m_TargetFC.Fields.Field[i];
// if (field.Name.ToUpper() == "OBJECTID" || !field.Editable || field.Name.ToUpper().Contains("SHAPE"))
// {
// continue;
// }
// int tarfieldIndex = m_TargetFC.FindField(field.Name);
// int sourfieldindex = m_SourceJCDLTBLayer.FeatureClass.FindField(field.Name);
// if (tarfieldIndex != -1 && sourfieldindex != -1)
// {
// buffer.Value[tarfieldIndex] = SourceJCDLTBFeatures[0].Value[sourfieldindex];
// }
// }
// //获取监测编号
// int bgjcbhIndex = m_TargetFC.FindField("JCBH");//变更监测编号
// int bgtbybhIndex = m_TargetFC.FindField("JCBH");//变更图斑与编号
// int jcbhIndex = m_SourceJCTBLayer.FeatureClass.FindField("JCBH");//监测图斑监测编号
// if (bgjcbhIndex != -1 && jcbhIndex != -1)
// {
// buffer.Value[bgjcbhIndex] = JCBH;// SourceJCTBFeatures[0].Value[jcbhIndex];
// }
// if (bgtbybhIndex != -1 && jcbhIndex != -1)
// {
// string tbybh = buffer.Value[bgtbybhIndex].ToString();
// if (string.IsNullOrWhiteSpace(tbybh))
// {
// buffer.Value[bgtbybhIndex] = SourceJCTBFeatures[0].Value[jcbhIndex];
// }
// }
// //地类编码从监测图斑的变更地类字段获取
// int dlbmIndex = m_TargetFC.FindField("DLBM");
// int dlmcIndex = m_TargetFC.FindField("DLMC");
// int bgdlIndex = m_SourceJCTBLayer.FeatureClass.FindField("BGDL");
// int jckdlbmIndex = m_SourceJCDLTBLayer.FeatureClass.FindField("DLBM");
// int jckdlmcIndex = m_SourceJCDLTBLayer.FeatureClass.FindField("DLMC");
// if (bgdlIndex != -1 && dlbmIndex != -1)
// {
// string bgdl = SourceJCTBFeatures[0].Value[bgdlIndex].ToString();
// //变更地类不为空,不包含逗号时,从监测图斑获取
// if (bgdl != "" && !bgdl.Trim().Contains(",") && !bgdl.Contains(","))
// {
// buffer.Value[dlbmIndex] = bgdl;
// if (dlbmDic != null && dlmcIndex != -1)
// {
// DataDicTionary dlbm = dlbmDic.FirstOrDefault(f => f.CODE == bgdl);
// buffer.Value[dlmcIndex] = dlbm == null ? "" : dlbm.NAME;
// }
// }
// else
// {
// if (dlbmIndex != -1 && jckdlbmIndex != -1)
// {
// buffer.Value[dlbmIndex] = SourceJCDLTBFeatures[0].Value[jckdlbmIndex];
// }
// if (dlmcIndex != -1 && jckdlmcIndex != -1)
// {
// buffer.Value[dlmcIndex] = SourceJCDLTBFeatures[0].Value[jckdlmcIndex];
// }
// }
// }
// InsertCursor.InsertFeature(buffer);
// InsertCursor.Flush();
// ExtComplete?.Invoke(null, true);
//}
//else
#endregion
if (SourceJCDLTBFeatures.Count != 0)
{
IDataset dataset = m_TargetLayer.FeatureClass as IDataset;
//string areapath = SysAppPath.GetAreaUpdateConfigPath();
string mjField = string.Empty;
//if (!string.IsNullOrWhiteSpace(areapath) && System.IO.File.Exists(areapath))
// mjField = AreaConfigHelper.GetAreaPropertyByLayerName(dataset.Name);
//未获取到监测图斑,图形从基础地类图斑获取
buffer.Shape = SourceJCDLTBFeatures[0].ShapeCopy;
//属性从基础地类图斑获取
for (int i = 0; i < m_TargetFC.Fields.FieldCount; i++)
{
IField field = m_TargetFC.Fields.Field[i];
if (field.Name.ToUpper() == "OBJECTID" || !field.Editable || field.Name.ToUpper().Contains("SHAPE"))
{
continue;
}
int tarfieldIndex = m_TargetFC.FindField(field.Name);
int sourfieldindex = m_SourceJCTBLayer.FeatureClass.FindField(field.Name);
if (tarfieldIndex != -1 && sourfieldindex != -1)
{
buffer.Value[tarfieldIndex] = SourceJCDLTBFeatures[0].Value[sourfieldindex];
}
}
int bgjcbhIndex = m_TargetFC.FindField("JCBH");
if (bgjcbhIndex != -1)
{
buffer.Value[bgjcbhIndex] = JCBH;// SourceJCTBFeatures[0].Value[jcbhIndex];
}
if (!string.IsNullOrWhiteSpace(mjField))
{
int mjIndex = m_TargetFC.FindField(mjField);
if (mjIndex > -1)
{
IArea area = buffer.Shape as IArea;
double mj = area.Area;
if (dataset.Name == "LSYD")
{
mj = mj * 0.0001;
}
mj = Math.Round(mj, 2);
buffer.Value[mjIndex] = mj;
}
}
InsertCursor.InsertFeature(buffer);
InsertCursor.Flush();
m_pHookHelper.ActiveView.PartialRefresh(esriViewDrawPhase.esriViewAll, m_TargetLayer, m_pHookHelper.ActiveView.Extent);
//ExtComplete?.Invoke(null, true);
KGIS.Framework.Platform.Platform.Instance.SendMsg(new KGIS.Framework.Utils.Interface.NotifyMsgPackage() { Content = "RefreshTBBGDetail", MsgType = "RefreshTBBGDetail" });
}
}
m_pEditor.StopOperation("提取图形");
}
//测试 绘制图形
private IElement DrawBaseGraph(IGeometry geoDraw, int R = 255, int G = 0, int B = 0)
{
if (geoDraw == null) return null;
try
{
IElement result = null;
IGraphicsContainer iGraphicsContainer = null;
IElement CameraPointElm = null; // axMapControl.ActiveView.GraphicsContainer.Next();
while ((CameraPointElm = MapsManager.Instance.MapService.getAxMapControl().ActiveView.GraphicsContainer.Next()) != null)
{
if ((CameraPointElm as IElementProperties).Name == "BaseElement")
break;
}
if (CameraPointElm == null)
{
CameraPointElm = new GroupElementClass();
(CameraPointElm as IElementProperties).Name = "BaseElement";
MapsManager.Instance.MapService.getAxMapControl().ActiveView.GraphicsContainer.AddElement(CameraPointElm, 2);
}
//(CameraPointElm as IGroupElement).ClearElements();
//替换Env改动---无用
//IMapControl2 axMapDraw = Env.Instance.KMap.HookHelper.Hook as IMapControl2;
// 获取IRGBColor接口
IRgbColor color = new RgbColor();
// 设置颜色属性
color.Red = R;
color.Green = G;
color.Blue = B;
switch (geoDraw.GeometryType)
{
case ESRI.ArcGIS.Geometry.esriGeometryType.esriGeometryPoint:
result = new MarkerElementClass();
IMarkerSymbol symbol = new SimpleMarkerSymbolClass();
symbol.Color = color;
symbol.Size = 10;
(result as IMarkerElement).Symbol = symbol;
result.Geometry = geoDraw;
break;
case ESRI.ArcGIS.Geometry.esriGeometryType.esriGeometryPolygon:
result = new KGIS.Framework.Maps.PolygonElement() { Opacity = 100 };
// 获取ILine符号接口
ILineSymbol lineSymbol = new SimpleLineSymbol();
// 设置线符号属
lineSymbol.Width = 2;
ISimpleFillSymbol simpleFillSymbol = new SimpleFillSymbolClass();
simpleFillSymbol.Color = color;
IRgbColor colorLine = new RgbColor();
colorLine.Red = 0;
colorLine.Green = 0;
colorLine.Blue = 0;
lineSymbol.Color = colorLine;
// 设置填充符号属性
simpleFillSymbol.Outline = lineSymbol;
simpleFillSymbol.Style = ESRI.ArcGIS.Display.esriSimpleFillStyle.esriSFSSolid;//esriSimpleFillStyle.esriSFSSolid;
(result as IFillShapeElement).Symbol = simpleFillSymbol;
result.Geometry = geoDraw;
break;
case ESRI.ArcGIS.Geometry.esriGeometryType.esriGeometryPolyline:
result = new LineElementClass();
// 获取ILine符号接口
ILineSymbol outline = new SimpleLineSymbol();
// 设置线符号属
outline.Width = 3;
outline.Color = color;
(outline as SimpleLineSymbol).Style = ESRI.ArcGIS.Display.esriSimpleLineStyle.esriSLSSolid;
(result as ILineElement).Symbol = outline;
result.Geometry = geoDraw;
break;
default:
break;
}
(CameraPointElm as IGroupElement).AddElement(result);
if (iGraphicsContainer != null)
{
iGraphicsContainer.AddElement(result, 0);
}
MapsManager.Instance.MapService.getAxMapControl().ActiveView.Refresh();
return result;
}
catch (Exception ex)
{
LogAPI.Debug("测试绘制图形时异常:" + ex);
return null;
}
}
private void AddIntersetFeature(IGeometry shapeGeo, IPoint point)
{
if (shapeGeo == null || shapeGeo.IsEmpty) return;
try
{
List<IFeature> SourceJCDLTBFeatures = FeatureAPI.Identify2(point, m_SourceJCTBLayer);
if (SourceJCDLTBFeatures.Count == 0)
{
return;
}
IFeatureClass m_TargetFC = m_TargetLayer.FeatureClass;
IFeatureCursor InsertCursor = m_TargetFC.Insert(true);
IFeatureBuffer buffer = m_TargetFC.CreateFeatureBuffer();
//查找监测编号
IFeatureSelection featureS = m_SourceJCTBLayer as IFeatureSelection;//编辑图层
ISelectionSet pSelectionset = featureS.SelectionSet;//目标图层的被选中图斑
ICursor pCursor;
pSelectionset.Search(null, true, out pCursor);
IFeatureCursor featureCur = pCursor as IFeatureCursor;
IFeature pFeature = featureCur.NextFeature();
if (pFeature != null)
{
JCBH = pFeature.Value[pFeature.Fields.FindField("JCBH")].ToString();
}
if (featureCur != null)
{
Marshal.ReleaseComObject(featureCur);
}
if (SourceJCDLTBFeatures.Count != 0)
{
IDataset dataset = m_TargetLayer.FeatureClass as IDataset;
//string areapath = SysAppPath.GetAreaUpdateConfigPath();
string mjField = string.Empty;
//if (!string.IsNullOrWhiteSpace(areapath) && System.IO.File.Exists(areapath))
// mjField = AreaConfigHelper.GetAreaPropertyByLayerName(dataset.Name);
//未获取到监测图斑,图形从基础地类图斑获取
buffer.Shape = shapeGeo;
//属性从基础地类图斑获取
for (int i = 0; i < m_TargetFC.Fields.FieldCount; i++)
{
IField field = m_TargetFC.Fields.Field[i];
if (field.Name.ToUpper() == "OBJECTID" || !field.Editable || field.Name.ToUpper().Contains("SHAPE"))
{
continue;
}
int tarfieldIndex = m_TargetFC.FindField(field.Name);
int sourfieldindex = m_SourceJCTBLayer.FeatureClass.FindField(field.Name);
if (tarfieldIndex != -1 && sourfieldindex != -1)
{
buffer.Value[tarfieldIndex] = SourceJCDLTBFeatures[0].Value[sourfieldindex];
}
}
int bgjcbhIndex = m_TargetFC.FindField("JCBH");
if (bgjcbhIndex != -1)
{
buffer.Value[bgjcbhIndex] = JCBH;// SourceJCTBFeatures[0].Value[jcbhIndex];
}
if (!string.IsNullOrWhiteSpace(mjField))
{
int mjIndex = m_TargetFC.FindField(mjField);
if (mjIndex > -1)
{
IArea area = buffer.Shape as IArea;
double mj = area.Area;
if (dataset.Name == "LSYD")
{
mj = mj * 0.0001;
}
mj = Math.Round(mj, 2);
buffer.Value[mjIndex] = mj;
}
}
InsertCursor.InsertFeature(buffer);
InsertCursor.Flush();
m_pHookHelper.ActiveView.PartialRefresh(esriViewDrawPhase.esriViewAll, m_TargetLayer, m_pHookHelper.ActiveView.Extent);
//ExtComplete?.Invoke(null, true);
KGIS.Framework.Platform.Platform.Instance.SendMsg(new KGIS.Framework.Utils.Interface.NotifyMsgPackage() { Content = "RefreshTBBGDetail", MsgType = "RefreshTBBGDetail" });
}
}
catch (Exception ex)
{
LogAPI.Debug("提取图斑时异常:" + ex);
return;
}
}
public override void OnKeyDown(int keyCode, int Shift)
{
}
public override void OnKeyUp(int keyCode, int Shift)
{
}
public override void OnDblClick()
{
}
private void DrawFeature(IFeature pFeature)
{
try
{
// 获取IRGBColor接口
IRgbColor color = new RgbColor();
// 设置颜色属性
color.Red = 255;
color.Green = 0;
color.Blue = 0;
if (pFeature.Shape.GeometryType == esriGeometryType.esriGeometryPoint)
{
IMarkerElement e = new MarkerElementClass();
IMarkerSymbol symbol = new SimpleMarkerSymbolClass();
symbol.Color = color;
symbol.Size = 5;
e.Symbol = symbol;
(e as IElement).Geometry = pFeature.Shape;
m_pHookHelper.ActiveView.GraphicsContainer.AddElement(e as IElement, 0);
tempElement = e as IElement;
}
else if (pFeature.Shape.GeometryType == esriGeometryType.esriGeometryPolyline)
{
// 获取ILine符号接口
ILineSymbol outline = new SimpleLineSymbol();
// 设置线符号属
outline.Width = 2;
outline.Color = color;
(outline as SimpleLineSymbol).Style = esriSimpleLineStyle.esriSLSSolid;
ILineElement pLineElement = new LineElementClass();
pLineElement.Symbol = outline;
(pLineElement as IElement).Geometry = pFeature.Shape;
m_pHookHelper.ActiveView.GraphicsContainer.AddElement(pLineElement as IElement, 0);
tempElement = pLineElement as IElement;
}
else if (pFeature.Shape.GeometryType == esriGeometryType.esriGeometryPolygon)
{
if (tempElement == null)
{
// 获取ILine符号接口
ILineSymbol outline = new SimpleLineSymbol();
// 设置线符号属
outline.Width = 2;
outline.Color = color;
(outline as SimpleLineSymbol).Style = esriSimpleLineStyle.esriSLSDot;
//ESRI.ArcGIS.Display.ILineSymbol
ISimpleFillSymbol simpleFillSymbol = new SimpleFillSymbolClass();
// 设置填充符号属性
simpleFillSymbol.Outline = outline;
simpleFillSymbol.Color = color;
simpleFillSymbol.Style = esriSimpleFillStyle.esriSFSHollow;
IFillShapeElement pFillShapeElement = new PolygonElementClass();
pFillShapeElement.Symbol = simpleFillSymbol;
IElement pElement = pFillShapeElement as IElement;
pElement.Geometry = pFeature.Shape;
m_pHookHelper.ActiveView.GraphicsContainer.AddElement(pElement, 0);
tempElement = pElement;
}
else
{
tempElement.Geometry = pFeature.Shape;
}
}
ITextSymbol pTextSymbol = new TextSymbolClass()
{
Color = color,
//Font = pFont,
Size = 12
};
//ITextElement pTextElement = new TextElementClass()
//{
// Symbol = pTextSymbol,
// ScaleText = true,
// Text = string.Format("【{0}】 图层:OID = {1}", pFeature.Class.AliasName, pFeature.OID)
//};
////tempFeature = pFeature;
//(pTextElement as IElement).Geometry = MousePoint;
//m_pHookHelper.ActiveView.GraphicsContainer.AddElement(pTextElement as IElement, 0);
//ITextElement pTextElement = new TextElementClass()
//{
// Symbol = pTextSymbol,
// ScaleText = true,
// Text = string.Format("【{0}】 图层:OID = {1}", pFeature.Class.AliasName, pFeature.OID)
//};
////tempFeature = pFeature;
//(pTextElement as IElement).Geometry = MousePoint;
//if (beforeEl!=null)
//{
// try
// {
// m_pHookHelper.ActiveView.GraphicsContainer.DeleteElement(beforeEl as IElement);
// }
// catch (Exception)
// {
// }
//}
//m_pHookHelper.ActiveView.GraphicsContainer.AddElement(pTextElement as IElement, 0);
//beforeEl = pTextElement;
//textElement = pTextElement as IElement;
m_pHookHelper.ActiveView.PartialRefresh(esriViewDrawPhase.esriViewGraphics, null, m_pHookHelper.ActiveView.Extent);
}
catch (Exception ex)
{
LogAPI.Debug(ex);
}
}
}
}