Draws a polyline on the screen in the ActiveView where the mouse is clicked.
[C#]
///<summary>Draws a polyline 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 DrawPolyline(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.ISimpleLineSymbol simpleLineSymbol = new ESRI.ArcGIS.Display.SimpleLineSymbolClass(); simpleLineSymbol.Color = color; ESRI.ArcGIS.Display.ISymbol symbol = (ESRI.ArcGIS.Display.ISymbol)simpleLineSymbol; // Explicit Cast ESRI.ArcGIS.Display.IRubberBand rubberBand = new ESRI.ArcGIS.Display.RubberLineClass(); ESRI.ArcGIS.Geometry.IGeometry geometry = rubberBand.TrackNew(screenDisplay, symbol); screenDisplay.SetSymbol(symbol); screenDisplay.DrawPolyline(geometry); screenDisplay.FinishDrawing(); }
[Visual Basic .NET]
'''<summary>Draws a polyline 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 DrawPolyline(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 simpleLineSymbol As ESRI.ArcGIS.Display.ISimpleLineSymbol = New ESRI.ArcGIS.Display.SimpleLineSymbolClass simpleLineSymbol.Color = color Dim symbol As ESRI.ArcGIS.Display.ISymbol = CType(simpleLineSymbol, ESRI.ArcGIS.Display.ISymbol) ' Explicit Cast Dim rubberBand As ESRI.ArcGIS.Display.IRubberBand = New ESRI.ArcGIS.Display.RubberLineClass Dim geometry As ESRI.ArcGIS.Geometry.IGeometry = rubberBand.TrackNew(screenDisplay, symbol) screenDisplay.SetSymbol(symbol) screenDisplay.DrawPolyline(geometry) screenDisplay.FinishDrawing() End Sub