![]() |
This document is archived and information here might be outdated. Recommended version. |
| ArcObjects Help for .NET developers > ESRI.ArcGIS.Snippets > Snippets > Draw Rectangle Snippet (ArcObjects .NET 10.4 SDK) |
Draws a rectangle on the screen in the ActiveView where the mouse is clicked.
///<summary>Draws a rectangle on the screen in the ActiveView where the mouse is clicked.</summary>
///
///<param name="activeView">An IActiveView interface</param>
///
///<remarks>Ideally, this function would be called from within the OnMouseDown event that was created with the ArcGIS base tool template.</remarks>
public void DrawRectangle(ESRI.ArcGIS.Carto.IActiveView activeView)
{
if(activeView == null)
{
return;
}
ESRI.ArcGIS.Display.IScreenDisplay screenDisplay=activeView.ScreenDisplay;
// Constant
screenDisplay.StartDrawing(screenDisplay.hDC, (System.Int16)ESRI.ArcGIS.Display.esriScreenCache.esriNoScreenCache); // Explicit Cast
ESRI.ArcGIS.Display.IRgbColor rgbColor=new ESRI.ArcGIS.Display.RgbColorClass();
rgbColor.Red=255;
ESRI.ArcGIS.Display.IColor color=rgbColor; // Implicit Cast
ESRI.ArcGIS.Display.ISimpleFillSymbol simpleFillSymbol=new ESRI.ArcGIS.Display.SimpleFillSymbolClass();
simpleFillSymbol.Color=color;
ESRI.ArcGIS.Display.ISymbol symbol=simpleFillSymbol as ESRI.ArcGIS.Display.ISymbol; // Dynamic Cast
ESRI.ArcGIS.Display.IRubberBand rubberBand=new ESRI.ArcGIS.Display.RubberEnvelopeClass();
ESRI.ArcGIS.Geometry.IGeometry geometry=rubberBand.TrackNew(screenDisplay, symbol);
screenDisplay.SetSymbol(symbol);
screenDisplay.DrawRectangle(geometry as ESRI.ArcGIS.Geometry.IEnvelope); // Dynamic Cast
screenDisplay.FinishDrawing();
}
'''<summary>Draws a rectangle on the screen in the ActiveView where the mouse is clicked.</summary>
'''
'''<param name="activeView">An IActiveView interface</param>
'''
'''<remarks>Ideally, this function would be called from within the OnMouseDown event that was created with the ArcGIS base tool template.</remarks>
Public Sub DrawRectangle(ByVal activeView As ESRI.ArcGIS.Carto.IActiveView)
If activeView Is Nothing Then
Return
End If
Dim screenDisplay As ESRI.ArcGIS.Display.IScreenDisplay=activeView.ScreenDisplay
' Constant
screenDisplay.StartDrawing(screenDisplay.hDC, CShort(ESRI.ArcGIS.Display.esriScreenCache.esriNoScreenCache))
Dim rgbColor As ESRI.ArcGIS.Display.IRgbColor=New ESRI.ArcGIS.Display.RgbColorClass
rgbColor.Red=255
Dim color As ESRI.ArcGIS.Display.IColor=rgbColor ' Implicit Cast
Dim simpleFillSymbol As ESRI.ArcGIS.Display.ISimpleFillSymbol=New ESRI.ArcGIS.Display.SimpleFillSymbolClass
simpleFillSymbol.Color=color
Dim symbol As ESRI.ArcGIS.Display.ISymbol=TryCast(simpleFillSymbol, ESRI.ArcGIS.Display.ISymbol) ' Dynamic Cast
Dim rubberBand As ESRI.ArcGIS.Display.IRubberBand=New ESRI.ArcGIS.Display.RubberEnvelopeClass
Dim geometry As ESRI.ArcGIS.Geometry.IGeometry=rubberBand.TrackNew(screenDisplay, symbol)
screenDisplay.SetSymbol(symbol)
screenDisplay.DrawRectangle(TryCast(geometry, ESRI.ArcGIS.Geometry.IEnvelope)) ' Dynamic Cast
screenDisplay.FinishDrawing()
End Sub