⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frmmdimain.frm

📁 ArcEngine 这是基于AE组件的源代码
💻 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 + -