Drawing Polylines


Use this subroutine to draw a Polyline feature on the screen. With this example the polyline will not persist on the screen; it will disappear when the screen next refreshes. See the Buffer Polygons sample for an example showing how drawings can be persisted on the display.

How to use:
  1. Add a new UITool control onto any toolbar.
  2. Paste the code below into its OnMouseDown event.
  3. Mind the name of the control, the sample assumes it is called UIToolControl1.
  4. Completely close down VBA so mouse events will fire.
  5. Select this tool, click on the map to create a line; double-click to stop.
Private Sub UIToolControl1_MouseDown(ByVal button As Long, ByVal shift As Long, ByVal x As Long, ByVal y As Long)
  Dim pMxDoc As IMxDocument
  Dim pActiveView As IActiveView
  Dim pScreenDisplay As IScreenDisplay
  Dim pRubberLine As IRubberBand
  Dim pLineSymbol As ISimpleLineSymbol
  Dim pRgbColor As IRgbColor
  Dim pPolyline As IPolyline

  Set pMxDoc = Application.Document
  Set pActiveView = pMxDoc.FocusMap
  Set pScreenDisplay = pActiveView.ScreenDisplay
  Set pRubberLine = New RubberLine
  Set pLineSymbol = New SimpleLineSymbol
  Set pRgbColor = New RgbColor
  pRgbColor.Red = 255
  pLineSymbol.Color = pRgbColor
  Set pPolyline = pRubberLine.TrackNew(pScreenDisplay, pLineSymbol)
  With pScreenDisplay
    .StartDrawing pScreenDisplay.hdc, esriNoScreenCache
    .SetSymbol pLineSymbol
    .DrawPolyline pPolyline
  End With
End Sub