📄 form1.frm
字号:
VERSION 5.00
Object = "{370A8DDA-7915-42DC-B4A1-77662C82B046}#1.0#0"; "TOCControl.ocx"
Object = "{C552EA90-6FBB-11D5-A9C1-00104BB6FC1C}#1.0#0"; "MapControl.ocx"
Object = "{B7D43581-3CBC-11D6-AA09-00104BB6FC1C}#1.0#0"; "ToolbarControl.ocx"
Begin VB.Form Form1
Caption = "GxDialog对象示例"
ClientHeight = 5685
ClientLeft = 165
ClientTop = 555
ClientWidth = 9615
LinkTopic = "Form1"
ScaleHeight = 5685
ScaleWidth = 9615
StartUpPosition = 3 'Windows Default
Begin esriToolbarControl.ToolbarControl ToolbarControl1
Height = 390
Left = 120
OleObjectBlob = "Form1.frx":0000
TabIndex = 3
Top = 120
Width = 5895
End
Begin esriTOCControl.TOCControl TOCControl1
Height = 2895
Left = 120
OleObjectBlob = "Form1.frx":015D
TabIndex = 2
Top = 600
Width = 2535
End
Begin esriMapControl.MapControl SmallMap
Height = 1935
Left = 120
OleObjectBlob = "Form1.frx":01C7
TabIndex = 0
Top = 3600
Width = 2535
End
Begin esriMapControl.MapControl MapMain
Height = 4935
Left = 2760
OleObjectBlob = "Form1.frx":0889
TabIndex = 1
Top = 600
Width = 6615
End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Private Sub Form_Load()
'Dim i As IAoInitialize
'Set i = New AoInitialize
'i.Initialize (esriLicenseProductCodeEngine)
Me.MapMain.AddShapeFile "D:\代码整理\data\Shapefile", "分市州"
Me.MapMain.AddShapeFile "D:\代码整理\data\Shapefile", "县界"
Me.ToolbarControl1.SetBuddyControl Me.MapMain
Me.TOCControl1.SetBuddyControl Me.MapMain
Call SmallMap_UpDateData
End Sub
Private Sub SmallMap_UpDateData()
'当主地图装载、卸载了数据或当主地图的图层顺序改变时,
'调用次函数更新鹰眼图中的数据
Dim i As Integer
Dim count As Integer
With Me.MapMain
count = .LayerCount
For i = 0 To count - 1
'这里注意,一定要保证两个地图控件中,图层顺序一致
Me.SmallMap.AddLayer .Layer(i), i
Next
End With
Me.SmallMap.Extent = Me.SmallMap.FullExtent
End Sub
Private Sub DrawViewRectInSmallMap(ByVal pEnv As IEnvelope)
'调用此方法在鹰眼中绘制一个红色的矩形方框,来标识视图在
'地图中的位置
Dim pCurEnv As IEnvelope
Dim pGContainer As IGraphicsContainer
Dim pActView As IActiveView
Dim pElement As IElement
Dim pFillElement As IFillShapeElement
Dim pColor As IColor
Dim pOutLine As ILineSymbol
Dim pFillSymbol As IFillSymbol
Set pCurEnv = pEnv '获得主地图的视图范围
Set pGContainer = Me.SmallMap.Map '设置GraphicsContainer
Set pActView = Me.SmallMap.ActiveView '获得视图对象,用于刷新
pGContainer.DeleteAllElements
Set pElement = New RectangleElement '创建要绘制的Element
pElement.Geometry = pCurEnv
'设置矩形的的填充色[红色],即显示在鹰眼上的红色方框线的颜色
Set pColor = New RgbColor
pColor.RGB = 255 '红色
'设置矩形的边框
Set pOutLine = New SimpleLineSymbol
With pOutLine
.Width = 1
.Color = pColor
End With
'把矩形的填充色设置为透明
Set pColor = New RgbColor
pColor.Transparency = 0
'设置面填充的符号,用于填充矩形
Set pFillSymbol = New SimpleFillSymbol
With pFillSymbol
.Color = pColor
.Outline = pOutLine
End With
Set pFillElement = pElement
pFillElement.Symbol = pFillSymbol
'绘制矩形方框
pGContainer.AddElement pElement, 0
pActView.PartialRefresh esriViewGraphics, Nothing, Nothing
End Sub
Private Sub MapMain_OnExtentUpdated(ByVal displayTransformation As _
Variant, ByVal sizeChanged As Boolean, ByVal newEnvelope As Variant)
Call DrawViewRectInSmallMap(newEnvelope)
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -