//双击则创建该线,并弹出缓冲窗体 public override void OnDblClick() { //获取折线 并获取当前视图的屏幕显示 if (m_pNewLineFeedback == null) { return; } IPolyline pPolyline = m_pNewLineFeedback.Stop(); m_pNewLineFeedback = null; pPolyline.Project(m_MapControl.Map.SpatialReference); frmBufferSet pFrmBufSet = new frmBufferSet(pPolyline as IGeometry, m_MapControl.Map); IGeometry pGeometry = pFrmBufSet.GetBufferGeometry(); if (pGeometry == null || pFrmBufSet.Res == false) { return; } //================================================================================================== //执行查询数据操作 ModDBOperator.QueryDataByGeometry(pGeometry, m_hook); }
public override void OnMouseDown(int Button, int Shift, int X, int Y) { if (Button != 1) { return; } ESRI.ArcGIS.Geometry.IPoint pPoint = m_MapControl.ActiveView.ScreenDisplay.DisplayTransformation.ToMapPoint(X, Y); frmBufferSet pFrmBufSet = new frmBufferSet(pPoint as IGeometry, m_MapControl.Map); IGeometry pGeometry = pFrmBufSet.GetBufferGeometry(); if (pGeometry == null || pFrmBufSet.Res == false) { return; } //================================================================================================== //执行查询数据操作 ModDBOperator.QueryDataByGeometry(pGeometry, m_hook); }
//双击则创建该线,并弹出缓冲窗体 public override void OnDblClick() { //获取折线 并获取当前视图的屏幕显示 if (m_pNewPolygonFeedback == null) { return; } IPolygon pPolygon = m_pNewPolygonFeedback.Stop(); m_pNewPolygonFeedback = null; //不存在,为空。尺寸不够均退出 if (pPolygon == null || pPolygon.IsEmpty) { return; } if (pPolygon.Envelope.Width < 0.01 || pPolygon.Envelope.Height < 0.01) { return; } //创建Topo对象,简化后统一空间参考 ITopologicalOperator pTopo = (ITopologicalOperator)pPolygon; pTopo.Simplify(); pPolygon.Project(m_MapControl.Map.SpatialReference); frmBufferSet pFrmBufSet = new frmBufferSet(pPolygon as IGeometry, m_MapControl.Map); IGeometry pGeometry = pFrmBufSet.GetBufferGeometry(); if (pGeometry == null || pFrmBufSet.Res == false) { return; } //================================================================================================== //执行查询数据操作 ModDBOperator.QueryDataByGeometry(pGeometry, m_hook); }