縮放到選中的另一種實現
阿新 • • 發佈:2019-02-01
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
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