private void frmMeasure_Load(object sender, EventArgs e) { ClsDeclare.g_txtMeasure = this.txtMeasure; ClsDeclare.g_txtMeasure.Text = "如果量算距离,请点击长度量算按钮,然后画线" + "\r" + "\n" + "如果量算面积,请点击面积量算按钮,然后画多边形" + "\r" + "\n" + "如果量算要素,请点击要素量算按钮,然后选择要素"; ClsDeclare.g_blnSnap = false; InitialButtonItems(); ClsDeclare.g_UnitConverter = new ClsConvertUnit(ClsMeasureSnap.GetMapUnits(ClsDeclare.g_pMap)); SetButtonCheck(ClsMeasureSnap.GetMapUnits(ClsDeclare.g_pMap)); }
/// <summary> /// Occurs when this tool is clicked /// </summary> public override void OnClick() { if (m_hookHelper != null) { m_pActiveView = m_hookHelper.ActiveView; m_pScreenDisplay = m_pActiveView.ScreenDisplay; m_pNewPolygonFeedback = null; ClsDeclare.g_txtMeasure.Clear(); ClsMeasureSnap.g_pNowSnapPnt = null; ClsMeasureSnap.g_pLastSnapPnt = null; ClsMeasureSnap.g_pSnapSymbol = ClsMeasureSnap.SetMeasureSnapSymbol() as ISymbol; } else if (m_sceneHookHelper != null) { } else if (m_globeHookHelper != null) { } }
public override void OnMouseMove(int Button, int Shift, int X, int Y) { if (m_hookHelper != null) { IPoint pPoint; pPoint = m_pScreenDisplay.DisplayTransformation.ToMapPoint(X, Y); m_blnSnap = false; if (ClsDeclare.g_blnSnap == true) { m_pSnapPoint = ClsMeasureSnap.MeasureSnapPoint(ref pPoint); if (m_pSnapPoint != null) { m_blnSnap = true; } else { m_blnSnap = false; } } if (m_pNewPolygonFeedback != null) { if (m_blnSnap == true) { m_pNewPolygonFeedback.MoveTo(m_pSnapPoint); } else { m_pNewPolygonFeedback.MoveTo(pPoint); } } } else if (m_sceneHookHelper != null) { } else if (m_globeHookHelper != null) { } }