How to draw points


Use this subroutine to draw a Point feature on the screen. With this example the point will not persist on the screen; it will disappear when the screen next refreshes. See How to draw polygon buffers 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 and click somewhere on the focus map.
[VBA]
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
    
    Set pMxDoc = Application.Document
    Set pActiveView = pMxDoc.FocusMap
    Set pScreenDisplay = pActiveView.ScreenDisplay
    
    With pScreenDisplay
        .StartDrawing pScreenDisplay.hdc, esriNoScreenCache
        .SetSymbol New SimpleMarkerSymbol
        .DrawPoint pMxDoc.CurrentLocation
        .FinishDrawing
    End With
End Sub