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
- Start ArcMap.
- Create a new UIButtonControl.
- Right-click the UIButtonControl and select View Source.
- Copy this code into the <!-- <br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->'s click event.

Private
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
ArcMap中VBA实现缩放到选中要素
本文介绍如何使用VBA和ArcObjects在ArcMap中实现缩放至所选图层要素的功能。通过编写一段代码,可以创建一个自定义按钮,点击该按钮即可将地图视图缩放到当前选中的要素范围。
555

被折叠的 条评论
为什么被折叠?



