Zoom to selected features using ArcObjects

本文介绍如何利用VBA和ArcObjects在ArcMap中实现对选定图层特征的缩放操作。通过右键点击图层并选择“缩放到所选特征”可以轻松完成此过程。对于希望深入了解这一自动化过程的用户,我们提供了一个示例代码,展示如何创建按钮来触发这一功能。
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
    ExpandedBlockStart.gifContractedBlock.gifPrivate Sub UIButtonControl1_Click()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.

转载于:https://www.cnblogs.com/iswszheng/archive/2009/05/15/1457598.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值