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

📄 vbw60_area.frm

📁 里面有我用VB二次开发MAPGIS的20个例子
💻 FRM
字号:
VERSION 5.00
Object = "{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0"; "Mscomctl.ocx"
Begin VB.MDIForm MainForm 
   BackColor       =   &H8000000C&
   Caption         =   "MapGis属性管理子程序"
   ClientHeight    =   4776
   ClientLeft      =   132
   ClientTop       =   456
   ClientWidth     =   6720
   Icon            =   "vbw60_Area.frx":0000
   StartUpPosition =   1  'CenterOwner
   Begin MSComctlLib.StatusBar StatusBar 
      Align           =   2  'Align Bottom
      Height          =   372
      Left            =   0
      TabIndex        =   0
      Top             =   4404
      Width           =   6720
      _ExtentX        =   11853
      _ExtentY        =   656
      _Version        =   393216
      BeginProperty Panels {8E3867A5-8586-11D1-B16A-00C0F0283628} 
         NumPanels       =   3
         BeginProperty Panel1 {8E3867AB-8586-11D1-B16A-00C0F0283628} 
         EndProperty
         BeginProperty Panel2 {8E3867AB-8586-11D1-B16A-00C0F0283628} 
         EndProperty
         BeginProperty Panel3 {8E3867AB-8586-11D1-B16A-00C0F0283628} 
         EndProperty
      EndProperty
   End
   Begin VB.Menu IDMN_FILE 
      Caption         =   "文件"
      Begin VB.Menu IDMN_FILE_PNT 
         Caption         =   "点文件"
      End
      Begin VB.Menu IDMN_FILE_LIN 
         Caption         =   "线文件"
      End
      Begin VB.Menu IDMN_FILE_REG 
         Caption         =   "区文件"
      End
      Begin VB.Menu IDMN_FILE_NET 
         Caption         =   "网文件"
      End
      Begin VB.Menu IDMN_FILE_TBL 
         Caption         =   "表文件"
      End
      Begin VB.Menu IDMN_FILE_SEPERATOR1 
         Caption         =   "-"
      End
      Begin VB.Menu IDMN_FILE_SAVE 
         Caption         =   "保存"
      End
      Begin VB.Menu IDMN_FILE_SAVE_AS 
         Caption         =   "另存"
      End
      Begin VB.Menu IDMN_FILE_SEPERATOR2 
         Caption         =   "-"
      End
      Begin VB.Menu IDMN_FILE_EXIT 
         Caption         =   "退出"
      End
   End
   Begin VB.Menu IDMN_STRU 
      Caption         =   "结构"
      Begin VB.Menu IDMN_STRU_BROW 
         Caption         =   "浏览 结构"
         Begin VB.Menu IDMN_STRU_BROW_PNT 
            Caption         =   "点属性结构"
         End
         Begin VB.Menu IDMN_STRU_BROW_LIN 
            Caption         =   "线属性结构"
         End
         Begin VB.Menu IDMN_STRU_BROW_REG 
            Caption         =   "区属性结构"
         End
         Begin VB.Menu IDMN_STRU_BROW_TBL 
            Caption         =   "表属性结构"
         End
         Begin VB.Menu IDMN_STRU_BROW_NET 
            Caption         =   "网属性结构"
         End
         Begin VB.Menu IDMN_STRU_BROW_NOD 
            Caption         =   "结点属性结构"
         End
      End
      Begin VB.Menu IDMN_STRU_EDIT 
         Caption         =   "编辑结构"
         Begin VB.Menu IDMN_STRU_EDIT_PNT 
            Caption         =   "点属性结构"
         End
         Begin VB.Menu IDMN_STRU_EDIT_LIN 
            Caption         =   "线属性结构"
         End
         Begin VB.Menu IDMN_STRU_EDIT_REG 
            Caption         =   "区属性结构"
         End
         Begin VB.Menu IDMN_STRU_EDIT_TBL 
            Caption         =   "表属性结构"
         End
         Begin VB.Menu IDMN_STRU_EDIT_NET 
            Caption         =   "网属性结构"
         End
         Begin VB.Menu IDMN_STRU_EDIT_NOD 
            Caption         =   "结点属性结构"
         End
      End
   End
   Begin VB.Menu IDMN_ATT 
      Caption         =   "属性"
      Begin VB.Menu IDMN_ATT_BROW 
         Caption         =   "浏览属性"
         Begin VB.Menu IDMN_ATT_PNT_BROW 
            Caption         =   "点属性"
         End
         Begin VB.Menu IDMN_ATT_LIN_BROW 
            Caption         =   "线属性"
         End
         Begin VB.Menu IDMN_ATT_REG_BROW 
            Caption         =   "区属性"
         End
         Begin VB.Menu IDMN_ATT_END_BROW 
            Caption         =   "结束浏览"
         End
      End
      Begin VB.Menu IDMN_ATT_EDIT 
         Caption         =   "编辑属性"
         Begin VB.Menu IDMN_ATT_PNT_EDIT 
            Caption         =   "点属性"
         End
         Begin VB.Menu IDMN_ATT_LIN_EDIT 
            Caption         =   "线属性"
         End
         Begin VB.Menu IDMN_ATT_REG_EDIT 
            Caption         =   "区属性"
         End
         Begin VB.Menu IDMN_ATT_END_EDIT 
            Caption         =   "结束编辑"
         End
      End
   End
   Begin VB.Menu IDMN_SETTING 
      Caption         =   "设置"
      Begin VB.Menu IDMN_SETTING_LINPA 
         Caption         =   "修改线参数"
      End
      Begin VB.Menu IDMN_SETTING_MODENV 
         Caption         =   "修改环境"
      End
      Begin VB.Menu IDMN_SETTING_SEPERATOR1 
         Caption         =   "-"
      End
      Begin VB.Menu IDMN_SETTING_STATUSBAR 
         Caption         =   "状态栏"
         Checked         =   -1  'True
      End
   End
End
Attribute VB_Name = "MainForm"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit

Private Sub IDMN_ATT_END_BROW_Click()
'结束浏览
Dim myform As ChildForm

Set myform = ActiveForm
If Not myform Is Nothing Then
    myform.isBrowAtt = 0
    myform.Form_Resize
    myform.GisAttEdit.DetachArea
    myform.EditView.AttachAttWorkArea Nothing
    myform.EditView.StopFlash
End If

Set myform = Nothing

End Sub

Private Sub IDMN_ATT_END_EDIT_Click()
'结束编辑
Dim myform As ChildForm
Set myform = ActiveForm
If Not myform Is Nothing Then
    myform.isBrowAtt = 0
    myform.Form_Resize
    myform.GisAttEdit.UpdateAtt
    myform.GisAttEdit.DetachArea
    myform.EditView.AttachAttWorkArea Nothing
    myform.EditView.StopFlash
End If

Set myform = Nothing

End Sub

Private Sub IDMN_ATT_LIN_BROW_Click()
'浏览线属性
BrowOrEditAtt gisLIN_ENTITY, 0
End Sub

Private Sub IDMN_ATT_LIN_EDIT_Click()
'编辑线属性
BrowOrEditAtt gisLIN_ENTITY, 1
End Sub

Private Sub IDMN_ATT_PNT_BROW_Click()
'浏览点属性
BrowOrEditAtt gisPNT_ENTITY, 0
End Sub

Private Sub IDMN_ATT_PNT_EDIT_Click()
'编辑点属性
BrowOrEditAtt gisPNT_ENTITY, 1
End Sub

Private Sub IDMN_ATT_REG_BROW_Click()
'浏览区属性
BrowOrEditAtt gisREG_ENTITY, 0
End Sub

Private Sub IDMN_ATT_REG_EDIT_Click()
'编辑区属性
BrowOrEditAtt gisREG_ENTITY, 1
End Sub

Private Sub IDMN_FILE_EXIT_Click()
'卸载当前窗口
Unload Me
End Sub

Private Sub IDMN_FILE_LIN_Click()
'装入线文件
LoadFile gisLIN
End Sub

Private Sub IDMN_FILE_NET_Click()
'装入网文件
LoadFile gisNET
End Sub

Private Sub IDMN_FILE_PNT_Click()
'装入点文件
LoadFile gisPNT
End Sub

Private Sub IDMN_FILE_REG_Click()
'装入区文件
LoadFile gisREG
End Sub
Private Sub IDMN_FILE_TBL_Click()
'装入表文件
LoadFile gisTBL
End Sub

Private Sub IDMN_FILE_SAVE_AS_Click()
'另存文件
Dim myform As ChildForm

Set myform = ActiveForm
If Not myform Is Nothing Then
    myform.SaveFileAs
End If
Set myform = Nothing

End Sub

Private Sub IDMN_FILE_SAVE_Click()
'保存文件
Dim myform As ChildForm

Set myform = ActiveForm
If Not myform Is Nothing Then
    myform.SaveFile
End If
Set myform = Nothing

End Sub

Private Function LoadFile(ByVal aiType As Enum_Area_Type)
'装文件
Dim pntAi As PntArea  '点工作区对象
Dim linAi As LinArea  '线工作区对象
Dim regAi As RegArea  '区工作区对象
Dim tblAi As TblArea  '表工作区对象
Dim netAi As NetArea  '网工作区对象
Dim myform As New ChildForm

LoadFile = 0
'根据工作区类型来装入文件
Select Case aiType
    Case gisPNT:
        Set pntAi = New PntArea
        If pntAi.Load Then
            '子窗口初始化
            LoadFile = 1
            myform.aiType = gisPNT
            Set myform.Ai = pntAi
            myform.EditView.SetWinMapRange _
                pntAi.rect.xmin, pntAi.rect.ymin, _
                pntAi.rect.xmax, pntAi.rect.ymax
        End If
    Case gisLIN:
        Set linAi = New LinArea
        If linAi.Load Then
            LoadFile = 1
            myform.aiType = gisLIN
            Set myform.Ai = linAi
            myform.EditView.SetWinMapRange _
                linAi.rect.xmin, linAi.rect.ymin, _
                linAi.rect.xmax, linAi.rect.ymax
        End If
    Case gisREG:
        Set regAi = New RegArea
        If regAi.Load Then
            LoadFile = 1
            myform.aiType = gisREG
            Set myform.Ai = regAi
            myform.EditView.SetWinMapRange _
                regAi.rect.xmin, regAi.rect.ymin, _
                regAi.rect.xmax, regAi.rect.ymax
         End If
    Case gisTBL:
        Set tblAi = New TblArea
        If tblAi.Load Then '此处先后顺序不能错
            LoadFile = 1
            myform.aiType = gisTBL
            Set myform.Ai = tblAi
            myform.Show
            BrowOrEditAtt gisTBL_ENTITY, 1
            myform.isBrowAtt = 1
            myform.Form_Resize
        End If
    Case gisNET:
        Set netAi = New NetArea
        If netAi.Load Then
            LoadFile = 1
            myform.aiType = gisNET
            Set myform.Ai = netAi
            myform.EditView.SetWinMapRange _
                netAi.rect.xmin, netAi.rect.ymin, _
                netAi.rect.xmax, netAi.rect.ymax
         End If
    Case Else
       
End Select

If LoadFile Then
    myform.Show
    myform.EditView.RestoreWindow   '复位窗口
Else
    Set myform = Nothing
End If

Set pntAi = Nothing
Set linAi = Nothing
Set regAi = Nothing
Set tblAi = Nothing
Set netAi = Nothing
End Function

Private Sub IDMN_SETTING_LINPA_Click()
'修改线参数
LinForm.Show
End Sub

Private Sub IDMN_SETTING_STATUSBAR_Click()
'状态栏设置
IDMN_SETTING_STATUSBAR.Checked = Not IDMN_SETTING_STATUSBAR.Checked
StatusBar.Visible = IDMN_SETTING_STATUSBAR.Checked
End Sub

Private Sub IDMN_STRU_BROW_LIN_Click()
'浏览线属性结构
BrowOrEditAttStru gisLIN_ENTITY, 0
End Sub

Private Sub IDMN_STRU_BROW_NET_Click()
'浏览网属性结构
BrowOrEditAttStru gisNET_ENTITY, 0
End Sub

Private Sub IDMN_STRU_BROW_NOD_Click()
'浏览结点属性结构
BrowOrEditAttStru gisNOD_ENTITY, 0
End Sub

Private Sub IDMN_STRU_BROW_PNT_Click()
'浏览点属性结构
BrowOrEditAttStru gisPNT_ENTITY, 0
End Sub

Private Sub IDMN_STRU_BROW_REG_Click()
'浏览区属性结构
BrowOrEditAttStru gisREG_ENTITY, 0
End Sub

Private Sub IDMN_STRU_BROW_TBL_Click()
'浏览表属性结构
BrowOrEditAttStru gisTBL_ENTITY, 0
End Sub

Private Sub IDMN_STRU_EDIT_LIN_Click()
'编辑线属性结构
BrowOrEditAttStru gisLIN_ENTITY, 1
End Sub

Private Sub IDMN_STRU_EDIT_NET_Click()
'编辑网属性结构
BrowOrEditAttStru gisNET_ENTITY, 1
End Sub

Private Sub IDMN_STRU_EDIT_NOD_Click()
'编辑结点属性结构
BrowOrEditAttStru gisNOD_ENTITY, 1
End Sub

Private Sub IDMN_STRU_EDIT_PNT_Click()
'编辑点属性结构
BrowOrEditAttStru gisPNT_ENTITY, 1
End Sub

Private Sub IDMN_STRU_EDIT_REG_Click()
'编辑区属性结构
BrowOrEditAttStru gisREG_ENTITY, 1
End Sub

Private Sub IDMN_STRU_EDIT_TBL_Click()
'编辑表属性结构
BrowOrEditAttStru gisTBL_ENTITY, 1
End Sub


Private Sub MDIForm_Resize()
'移动控件或调整其大小(此处为状态栏)
If Not Me.StatusBar.panels Is Nothing Then
    If Not Me.StatusBar.panels Is Nothing Then
        Me.StatusBar.panels(1).Width = Me.ScaleWidth / 5
        Me.StatusBar.panels(2).Width = Me.ScaleWidth * 3 / 5
        Me.StatusBar.panels(3).Width = Me.ScaleWidth / 5
    End If
End If
End Sub

Private Function BrowOrEditAtt(ByVal aType As Enum_Entity_Type, ByVal Editable As Integer)
'浏览编辑属性
Dim myform As ChildForm
Set myform = ActiveForm
If Not myform Is Nothing Then
    myform.BrowOrEditAtt aType, Editable
End If
Set myform = Nothing
End Function


Private Function BrowOrEditAttStru(ByVal aType As Enum_Entity_Type, ByVal Editable As Integer)
'浏览编辑属性结构
Dim myform As ChildForm
Dim Flag As Integer

Set myform = ActiveForm
If Not myform Is Nothing Then
    Flag = myform.BrowOrEditAttStru(aType, Editable)
    If Flag Then
        If myform.isBrowAtt & Editable Then
        '更新浏览属性
        '......
        myform.GisAttEdit.RefreshAtt
        End If
    End If
End If

Set myform = Nothing
End Function


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -