Zoom to selected features using ArcObjects

Summary

In ArcMap you can zoom to the selected features for a layer by right-clicking the layer and selecting Selection > Zoom to Selected Features. This article shows how to do this task using VBA and ArcObjects.

Procedure

  1. Start ArcMap.
  2. Create a new UIButtonControl.
  3. Right-click the UIButtonControl and select View Source.
  4. Copy this code into the
    Private Sub UIButtonControl1_Click()
      
    Dim pDoc As IMxDocument
      
    Set pDoc = ThisDocument
      
    Dim pMap As IMap
      
    Set pMap = pDoc.FocusMap

      
    Dim pLayer As IFeatureLayer
      
    Dim pFSel As IFeatureSelection
      
    Set pLayer = pMap.Layer(0)
      
    Set pFSel = pLayer

      
    'Get the selected features
      Dim pSelSet As ISelectionSet
      
    Set pSelSet = pFSel.SelectionSet

      
    Dim pEnumGeom As IEnumGeometry
      
    Dim pEnumGeomBind As IEnumGeometryBind

      
    Set pEnumGeom = New EnumFeatureGeometry
      
    Set pEnumGeomBind = pEnumGeom
      pEnumGeomBind.BindGeometrySource 
    Nothing, pSelSet

      
    Dim pGeomFactory As IGeometryFactory
      
    Set pGeomFactory = New GeometryEnvironment

      
    Dim pGeom As IGeometry
      
    Set pGeom = pGeomFactory.CreateGeometryFromEnumerator(pEnumGeom)

      pDoc.ActiveView.Extent 
    = pGeom.Envelope
      pDoc.ActiveView.Refresh

    End Sub
    's click event.

posted on 2009-05-15 12:55  炜升  阅读(1128)  评论(0编辑  收藏  举报