public override void OnMouseUp(int Button, int Shift, int X, int Y) { if (m_InUse == false) { return; } //Stop capturing mouse events if (GetCapture() == m_HookHelper.ActiveView.ScreenDisplay.hWnd) { ReleaseCapture(); } //If an envelope has not been tracked or its height/width is 0 if (m_Feedback == null) { m_Feedback = null; m_InUse = false; return; } IEnvelope envelope = m_Feedback.Stop(); if ((envelope.IsEmpty) || (envelope.Width == 0) || (envelope.Height == 0)) { m_Feedback = null; m_InUse = false; return; } //Create the form with the SymbologyControl SymbolForm symbolForm = new SymbolForm(); //Get the IStyleGalleryItem IStyleGalleryItem styleGalleryItem = symbolForm.GetItem(esriSymbologyStyleClass.esriStyleClassNorthArrows); //Release the form symbolForm.Dispose(); if (styleGalleryItem == null) { return; } Common.MapPrintCommon.GraphicsContainClearSelection(); //Get the map frame of the focus map IMapFrame mapFrame = (IMapFrame)m_HookHelper.ActiveView.GraphicsContainer.FindFrame(m_HookHelper.ActiveView.FocusMap); //Create a map surround frame IMapSurroundFrame mapSurroundFrame = new MapSurroundFrameClass(); //Set its map frame and map surround mapSurroundFrame.MapFrame = mapFrame; mapSurroundFrame.MapSurround = (IMapSurround)styleGalleryItem.Item; //QI to IElement and set its geometry IElement element = (IElement)mapSurroundFrame; element.Geometry = envelope; //Add the element to the graphics container m_HookHelper.ActiveView.GraphicsContainer.AddElement((IElement)mapSurroundFrame, 0); //Refresh m_HookHelper.ActiveView.PartialRefresh(esriViewDrawPhase.esriViewGraphics, mapSurroundFrame, null); m_Feedback = null; m_InUse = false; Common.MapPrintCommon.g_axPageLayoutControl.CurrentTool = Common.MapPrintCommon.SetControlsSelectCommand(); }
public override void OnMouseUp(int Button, int Shift, int X, int Y) { if (m_InUse == false) return; //Stop capturing mouse events if (GetCapture() == m_HookHelper.ActiveView.ScreenDisplay.hWnd) ReleaseCapture(); //If an envelope has not been tracked or its height/width is 0 if (m_Feedback == null) { m_Feedback = null; m_InUse = false; return; } IEnvelope envelope = m_Feedback.Stop(); if ((envelope.IsEmpty) || (envelope.Width == 0) || (envelope.Height == 0)) { m_Feedback = null; m_InUse = false; return; } //Create the form with the SymbologyControl SymbolForm symbolForm = new SymbolForm(); //Get the IStyleGalleryItem IStyleGalleryItem styleGalleryItem = symbolForm.GetItem(esriSymbologyStyleClass.esriStyleClassNorthArrows); //Release the form symbolForm.Dispose(); if (styleGalleryItem == null) return; Common.MapPrintCommon.GraphicsContainClearSelection(); //Get the map frame of the focus map IMapFrame mapFrame = (IMapFrame) m_HookHelper.ActiveView.GraphicsContainer.FindFrame(m_HookHelper.ActiveView.FocusMap); //Create a map surround frame IMapSurroundFrame mapSurroundFrame = new MapSurroundFrameClass(); //Set its map frame and map surround mapSurroundFrame.MapFrame = mapFrame; mapSurroundFrame.MapSurround = (IMapSurround) styleGalleryItem.Item; //QI to IElement and set its geometry IElement element = (IElement) mapSurroundFrame; element.Geometry = envelope; //Add the element to the graphics container m_HookHelper.ActiveView.GraphicsContainer.AddElement((IElement)mapSurroundFrame, 0); //Refresh m_HookHelper.ActiveView.PartialRefresh(esriViewDrawPhase.esriViewGraphics, mapSurroundFrame, null); m_Feedback = null; m_InUse = false; Common.MapPrintCommon.g_axPageLayoutControl.CurrentTool = Common.MapPrintCommon.SetControlsSelectCommand(); }