📄 frmmdimain.frm
字号:
VERSION 5.00
Object = "{4932CEF1-2CAA-11D2-A165-0060081C43D9}#2.0#0"; "Actbar2.OCX"
Object = "{F9043C88-F6F2-101A-A3C9-08002B2F49FB}#1.2#0"; "Comdlg32.ocx"
Begin VB.MDIForm frmMDIMain
BackColor = &H8000000C&
Caption = "ArcEngine"
ClientHeight = 7995
ClientLeft = 60
ClientTop = 345
ClientWidth = 11565
Icon = "frmMDIMain.frx":0000
StartUpPosition = 3 'Windows Default
WindowState = 2 'Maximized
Begin ActiveBar2LibraryCtl.ActiveBar2 ActiveBar
Align = 1 'Align Top
Height = 7995
Left = 0
TabIndex = 0
Top = 0
Width = 11565
_LayoutVersion = 1
_ExtentX = 20399
_ExtentY = 14102
_DataPath = ""
Bands = "frmMDIMain.frx":1CF2
Begin MSComDlg.CommonDialog CommonDialog
Left = 3480
Top = 5280
_ExtentX = 847
_ExtentY = 847
_Version = 393216
End
End
End
Attribute VB_Name = "frmMDIMain"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Private Sub ActiveBar_ComboSelChange(ByVal Tool As ActiveBar2LibraryCtl.Tool)
Select Case Tool.name
Case "BarFileCheckView"
frmMDIMap.MapControl.MapScale = Mid(Tool.Text, 3, Len(Tool.Text) - 2)
frmMDIMap.MapControl.refresh esriViewGeography
Case "BarEditTask"
m_CheckOperate = isEditTask
frmMDIMap.MapControl.MousePointer = esriPointerDefault
m_bEditingFtr = False
m_bSketching = False
m_bSelecting = False
Select Case frmMDIMain.ActiveBar.Bands("ToolsBarEdit").Tools("BarEditTask").CBListIndex
Case 0
'Do Nothing - the tool has already been reset
Case 1
frmMDIMap.MapControl.MousePointer = esriPointerCrosshair
m_bEditingFtr = True
Case 2
frmMDIMap.MapControl.MousePointer = esriPointerPencil
m_bSketching = True
Case 3
frmMDIMap.MapControl.MousePointer = esriPointerCrosshair
m_bSelecting = True
End Select
Case "BarEditTarget"
m_CheckOperate = isEditTask
If m_pMap Is Nothing Then Exit Sub
m_pMap.ClearSelection
Dim pActiveView As IActiveView
Set pActiveView = m_pMap
pActiveView.PartialRefresh esriViewGeoSelection, Nothing, Nothing
Dim i As Integer
For i = 0 To m_pMap.LayerCount - 1
If m_pMap.Layer(i).name = frmMDIMain.ActiveBar.Bands("ToolsBarEdit").Tools("BarEditTarget").Text Then
Set m_pCurrentLayer = m_pMap.Layer(i)
Exit For
End If
Next i
frmMDIMain.ActiveBar.Bands("ToolsBarEdit").Tools("BarEditTarget").Caption = Tool.name
Call ReRefreshMapControl
Exit Sub
End Select
End Sub
Private Sub ActiveBar_ToolClick(ByVal Tool As ActiveBar2LibraryCtl.Tool)
'处理文件菜单事件
Dim objEnvelope As IEnvelope
Dim pExtentStack As IExtentStack
Select Case Tool.name
'打开文件
Case "menuFileOpen"
Call menuFileOpen("浏缆地图文档", "地图方档 (*.mxd, *.mxt, *.pmf)|*.mxd;*.mxt;*.pmf")
Exit Sub
Case "menuViewDataView"
Call menuViewDataView
Exit Sub
Case "menuViewLayoutView"
Call menuViewLayoutView
Exit Sub
Case "menuFileNew"
Call NewMxdDocument
Exit Sub
Case "menuFileSave"
If m_pDocument.DocumentFilename <> "" Then
m_pDocument.Save
End If
Exit Sub
Case "menuFileSaveAs"
Call SaveMxdDocument
Exit Sub
Case "menuFileAddData"
frmAddSdeData.Show 1
Exit Sub
Case "BarFileUndo"
m_CheckOperate = isUndo
UndoEdit
Exit Sub
Case "BarFileRedo"
m_CheckOperate = isRedo
RedoEdit
Exit Sub
Case "menuFormatTip"
m_CheckOperate = isTip
frmMapTip.Show 1
Exit Sub
Case "menuToolsQuery"
Call StartQuery
Exit Sub
Case "menuSetPageLayout"
frmPageAppearance.Show 1
Exit Sub
Case "menuPrintPageLayout"
frmPrintPageLayout.Show 1
Exit Sub
Case "menuSymbol"
frmSymbolShow.Show 1
Exit Sub
End Select
'处理工具栏事件
Select Case Tool.name
Case "BarFileNew"
Call NewMxdDocument
Exit Sub
Case "BarFileOpen"
Call menuFileOpen("浏缆地图文档", "地图方档 (*.mxd, *.mxt, *.pmf)|*.mxd;*.mxt;*.pmf")
Exit Sub
Case "BarFileSave"
If m_pDocument.DocumentFilename <> "" Then
m_pDocument.Save
End If
Exit Sub
Case "BarFileZoomOut"
m_CheckOperate = isZoomOut
frmMDIMap.MapControl.MousePointer = esriPointerZoomIn
Exit Sub
Case "BarFileZoomIn"
m_CheckOperate = isZoomIn
frmMDIMap.MapControl.MousePointer = esriPointerZoomOut
Exit Sub
Case "BarFilePan"
m_CheckOperate = isZoomPan
frmMDIMap.MapControl.MousePointer = esriPointerPan
Exit Sub
Case "BarFileFullExtent"
m_CheckOperate = isZoomFull
frmMDIMap.MapControl.Extent = frmMDIMap.MapControl.FullExtent
frmMDIMap.MapControl.MousePointer = esriPointerArrow
frmMDIMain.ActiveBar.Bands("ToolsBarFile").Tools("BarFileCheckView").Text = "1:" + CStr(Int(frmMDIMap.MapControl.MapScale))
frmMDIMain.ActiveBar.refresh
' frmMDIPageLayout.PageLayoutControl.Extent = frmMDIPageLayout.PageLayoutControl.FullExtent
Exit Sub
Case "BarFileQuery"
m_CheckOperate = isQuery
frmMDIMap.MapControl.MousePointer = esriPointerIdentify
Case "StartEdit"
m_CheckOperate = isStartEdit
StartEditing
SetControlStates
Exit Sub
Case "StopEdit"
m_CheckOperate = isStopEdit
StopEditing
SetControlStates
If InEdit Then StopEditing
Exit Sub
Case "BarEditDelete"
m_CheckOperate = isDeleteEdit
Call DeleteSelectedFeatures
Exit Sub
Case "BarFileSelect" '处理选择工具栏
frmMDIMap.MapControl.MousePointer = esriPointerArrow
m_CheckOperate = isSelect
Exit Sub
Case "BarFileMeasure"
m_CheckOperate = isMeasure
Exit Sub
Case "BarFileFixZoomIn"
Set objEnvelope = frmMDIMap.MapControl.Extent
objEnvelope.Expand 1.5, 1.5, True
frmMDIMap.MapControl.Extent = objEnvelope
frmMDIMap.MapControl.refresh esriViewGraphics
Exit Sub
Case "BarFileFixZoomOut"
Set objEnvelope = frmMDIMap.MapControl.Extent
objEnvelope.Expand 0.5, 0.5, True
frmMDIMap.MapControl.Extent = objEnvelope
frmMDIMap.MapControl.refresh esriViewGraphics
Exit Sub
Case "BarFileBackExtent"
Set pExtentStack = frmMDIMap.MapControl.ActiveView.ExtentStack
If pExtentStack.CanUndo Then pExtentStack.Undo
frmMDIMap.MapControl.refresh esriViewGraphics
Exit Sub
Case "BarFileToExtent"
Set pExtentStack = frmMDIMap.MapControl.ActiveView.ExtentStack
If pExtentStack.CanRedo Then pExtentStack.Redo
frmMDIMap.MapControl.refresh esriViewGraphics
Exit Sub
Case "BarFileFind"
Call StartQuery
Exit Sub
Case "BarFileAddData"
frmAddSdeData.Show 1
Exit Sub
Case "BarEditRotate"
m_CheckOperate = isRolateFeature
Exit Sub
End Select
End Sub
Private Sub MDIform_Load()
'创建AO初始化对象
Set m_pAoInitialize = New AoInitialize
If m_pAoInitialize Is Nothing Then
MsgBox "程序初始化失败. 这个程序不能运行!"
Unload frmMDIMain
Exit Sub
End If
'判断产品是否有效的
If m_pAoInitialize.IsProductCodeAvailable(esriLicenseProductCodeEngine) = esriLicenseAvailable Then
'If m_pAoInitialize.Initialize(esriLicenseProductCodeEngine) <> esriLicenseCheckedOut Then
If m_pAoInitialize.Initialize(esriLicenseProductCodeEngineGeoDB) <> esriLicenseCheckedOut Then
MsgBox "这个程序初始化失败. 这个程序不能运行!"
Unload frmMDIMain
Exit Sub
End If
Else
MsgBox "这是一个无效的 ArcGIS Engine 产品. 这个程序不能运行!"
Unload frmMDIMain
Exit Sub
End If
frmMDIMap.Show
Set ActiveBar.Bands("Inspectors").ChildBands("Inspectors1").Tools("frmMDITocBar").Custom = frmMDITocBar
Set ActiveBar.Bands("Inspectors").ChildBands("inspectors2").Tools("frmMDITocDataBar").Custom = frmMDITocDataBar
frmMDITocBar.TOCControl.SetBuddyControl frmMDIMap.MapControl
Set m_pDocument = New MapDocument
frmMDIMain.ActiveBar.Bands("ToolsBarEdit").Tools("BarEditTask").CBAddItem "没有对象"
frmMDIMain.ActiveBar.Bands("ToolsBarEdit").Tools("BarEditTask").CBAddItem "编辑实体"
frmMDIMain.ActiveBar.Bands("ToolsBarEdit").Tools("BarEditTask").CBAddItem "新建实体"
frmMDIMain.ActiveBar.Bands("ToolsBarEdit").Tools("BarEditTask").CBAddItem "选择实体"
m_CheckOperate = 0
isCheckTip = False
Call ReRefreshMapControl
End Sub
Private Sub frmMDIMain_Unload(Cancel As Integer)
m_pAoInitialize.Shutdown
End Sub
' Change the state of the buttons depending on whether we're editing or not
Private Sub SetControlStates()
Dim bEnabled As Boolean
Dim i As Integer
bEnabled = InEdit
frmMDIMain.ActiveBar.Bands("menuEditCheck").Tools("StartEdit").Enabled = Not bEnabled
frmMDIMain.ActiveBar.Bands("menuEditCheck").Tools("StopEdit").Enabled = bEnabled
'frmMDIMain.ActiveBar.Bands("menuEditCheck").Tools("StartEdit").Enabled = bEnabled
frmMDIMain.ActiveBar.Bands("ToolsBarEdit").Tools("BarEditTask").Enabled = bEnabled
End Sub
' Disables all but the layer selection combo
Private Sub DisableControls()
Dim i As Integer
frmMDIMain.ActiveBar.Bands("menuEditCheck").Tools("StartEdit").Enabled = False
frmMDIMain.ActiveBar.Bands("menuEditCheck").Tools("StartEdit").Enabled = False
frmMDIMain.ActiveBar.Bands("menuEditCheck").Tools("StartEdit").Enabled = False
frmMDIMain.ActiveBar.Bands("ToolsBarEdit").Tools("BarEditTask").Enabled = False
End Sub
Public Sub ReRefreshMapControl()
Set m_pMap = frmMDIMap.MapControl.Map
SetControlStates
End Sub
Public Sub ReInsertActiveBarTarget()
Dim i As Long
frmMDIMain.ActiveBar.Bands("ToolsBarEdit").Tools("BarEditTarget").CBClear
For i = 0 To m_pMap.LayerCount - 1
frmMDIMain.ActiveBar.Bands("ToolsBarEdit").Tools("BarEditTarget").CBAddItem m_pMap.Layer(i).name
Next i
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -