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

📄 frmmain.frm

📁 都是基于VB所做的程序集合,值得大家作为实践的参考资料.
💻 FRM
字号:
VERSION 5.00
Object = "{F9043C88-F6F2-101A-A3C9-08002B2F49FB}#1.2#0"; "Comdlg32.ocx"
Object = "{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0"; "MSCOMCTL.OCX"
Object = "{03ED3B1E-ED1B-4A2E-8FE3-D8D1A673F5D4}#5.2#0"; "SuperMap.ocx"
Begin VB.Form frmMain 
   BorderStyle     =   3  'Fixed Dialog
   Caption         =   "数据转入、转出"
   ClientHeight    =   6315
   ClientLeft      =   150
   ClientTop       =   435
   ClientWidth     =   10020
   Icon            =   "frmMain.frx":0000
   LinkTopic       =   "Form1"
   MaxButton       =   0   'False
   MinButton       =   0   'False
   ScaleHeight     =   6315
   ScaleWidth      =   10020
   StartUpPosition =   2  'CenterScreen
   Begin SuperMapLib.SuperMap SuperMap1 
      Height          =   5655
      Left            =   2700
      TabIndex        =   12
      Top             =   570
      Width           =   7275
      _Version        =   327682
      _ExtentX        =   12832
      _ExtentY        =   9975
      _StockProps     =   160
      Appearance      =   1
   End
   Begin SuperMapLib.SuperWorkspace SuperWorkspace1 
      Left            =   3780
      Top             =   1920
      _Version        =   327682
      _ExtentX        =   847
      _ExtentY        =   847
      _StockProps     =   0
   End
   Begin VB.Frame Frame1 
      Caption         =   "工作空间"
      Height          =   5745
      Left            =   15
      TabIndex        =   10
      Top             =   510
      Width           =   2625
      Begin MSComctlLib.ImageList ImageList1 
         Left            =   555
         Top             =   2835
         _ExtentX        =   1005
         _ExtentY        =   1005
         BackColor       =   -2147483643
         ImageWidth      =   16
         ImageHeight     =   16
         MaskColor       =   12632256
         _Version        =   393216
         BeginProperty Images {2C247F25-8591-11D1-B16A-00C0F0283628} 
            NumListImages   =   1
            BeginProperty ListImage1 {2C247F27-8591-11D1-B16A-00C0F0283628} 
               Picture         =   "frmMain.frx":058A
               Key             =   ""
            EndProperty
         EndProperty
      End
      Begin MSComDlg.CommonDialog CommonDialog1 
         Left            =   570
         Top             =   2055
         _ExtentX        =   847
         _ExtentY        =   847
         _Version        =   393216
      End
      Begin MSComctlLib.TreeView tvwSpace 
         CausesValidation=   0   'False
         Height          =   5490
         Left            =   45
         TabIndex        =   11
         Top             =   210
         Width           =   2535
         _ExtentX        =   4471
         _ExtentY        =   9684
         _Version        =   393217
         HideSelection   =   0   'False
         LabelEdit       =   1
         Style           =   7
         Appearance      =   1
      End
   End
   Begin VB.CommandButton cmdAction 
      Caption         =   "退出"
      Height          =   405
      Index           =   9
      Left            =   9090
      TabIndex        =   9
      Top             =   75
      Width           =   945
   End
   Begin VB.CommandButton cmdAction 
      Caption         =   "全幅显示"
      Height          =   405
      Index           =   8
      Left            =   8145
      TabIndex        =   8
      Top             =   75
      Width           =   945
   End
   Begin VB.CommandButton cmdAction 
      Caption         =   "自由缩放"
      Height          =   405
      Index           =   7
      Left            =   7200
      TabIndex        =   7
      Top             =   75
      Width           =   945
   End
   Begin VB.CommandButton cmdAction 
      Caption         =   "缩小"
      Height          =   405
      Index           =   6
      Left            =   6255
      TabIndex        =   6
      Top             =   75
      Width           =   945
   End
   Begin VB.CommandButton cmdAction 
      Caption         =   "放大"
      Height          =   405
      Index           =   5
      Left            =   5310
      TabIndex        =   5
      Top             =   75
      Width           =   945
   End
   Begin VB.CommandButton cmdAction 
      Caption         =   "漫游"
      Height          =   405
      Index           =   4
      Left            =   4365
      TabIndex        =   4
      Top             =   75
      Width           =   945
   End
   Begin VB.CommandButton cmdAction 
      Caption         =   "点选"
      Height          =   405
      Index           =   3
      Left            =   3420
      TabIndex        =   3
      Top             =   75
      Width           =   945
   End
   Begin VB.CommandButton cmdAction 
      Caption         =   "转出数据集"
      Height          =   405
      Index           =   2
      Left            =   2280
      TabIndex        =   2
      Top             =   75
      Width           =   1140
   End
   Begin VB.CommandButton cmdAction 
      Caption         =   "转入数据集"
      Height          =   405
      Index           =   1
      Left            =   1140
      TabIndex        =   1
      Top             =   75
      Width           =   1140
   End
   Begin VB.CommandButton cmdAction 
      Caption         =   "打开数据源"
      Height          =   405
      Index           =   0
      Left            =   0
      TabIndex        =   0
      Top             =   75
      Width           =   1140
   End
End
Attribute VB_Name = "frmMain"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
'=====================================SuperMap Objects示范工程说明=======================================
'
'功能简介:本示例是对数据进行转入、转出
'所用控件:SuperMap控件和SuperWorkspace控件
'所用数据:..\Data\World\World.sdb数据源
'操作说明:
'         1.单击"打开数据源"按钮,打开一个数据源文件,双击打开数据集;
'         2.单击"转入数据集"按钮,选择要转入数据集的文件的格式,然后转入数据集;
'         3.单击"转出数据集"按钮,选择数据源中要转出的数据集,然后选择要转出来的数据集文件格式;
'         4.本示例增加了放大、缩小、选择、等按钮;
'===================================SuperMap Objects示范工程说明结束=====================================
Option Explicit
Private Sub cmdAction_Click(Index As Integer)
    Select Case Index
        Case 0                                    '打开数据源
            Dim strAlias As String                '数据源别名
            Dim nEngineType As seEngineType       '数据引擎类型
            Dim strDatasourceName As String       '数据源绝对路径名
            Dim objDataSource As soDataSource     '数据源对象,指向打开的数据源
            Dim objDt As soDataset
            Dim i As Integer, j As Integer        '循环变量
            Dim iDatasourceCount As Integer
            Dim strDsAlias As String
            
            nEngineType = sceSDBPlus
            With CommonDialog1
                .InitDir = App.Path & "\..\Data\World"
                .Filter = "Supermap 文件(*.sdb)| *.sdb"
                .FileName = ""
                .FilterIndex = 2
                .ShowOpen
                If .FileName = "" Then Exit Sub
                strAlias = PathToName(.FileTitle)  '原则上别名可以任意给,建议取成和数据源文件主名
                strDatasourceName = .FileName
            End With

    
            '可写方式打开数据源
            Set objDataSource = SuperWorkspace1.OpenDataSource(strDatasourceName, strAlias, nEngineType, False)
            
            If objDataSource Is Nothing Then
                MsgBox "打开数据失败"
                Exit Sub
            End If
            
            SuperMap1.Connect SuperWorkspace1.Handle
            
            tvwSpace.Nodes.Add "工作空间", tvwChild, "A" & objDataSource.Alias, objDataSource.Alias
            
            For j = 1 To objDataSource.Datasets.Count
                '添加数据源和数据集到数据浏览器中
                Select Case objDataSource.Datasets.Item(j).Type
                    Case 0
                        Me.tvwSpace.Nodes.Add "A" & objDataSource.Alias, tvwChild, , objDataSource.Datasets.Item(j).Name
                    Case 1
                        Me.tvwSpace.Nodes.Add "A" & objDataSource.Alias, tvwChild, , objDataSource.Datasets.Item(j).Name
                    Case 2
                        Me.tvwSpace.Nodes.Add "A" & objDataSource.Alias, tvwChild, , objDataSource.Datasets.Item(j).Name
                    Case 3
                        Me.tvwSpace.Nodes.Add "A" & objDataSource.Alias, tvwChild, , objDataSource.Datasets.Item(j).Name
                    Case 4
                        Me.tvwSpace.Nodes.Add "A" & objDataSource.Alias, tvwChild, , objDataSource.Datasets.Item(j).Name
                    Case 5
                        Me.tvwSpace.Nodes.Add "A" & objDataSource.Alias, tvwChild, , objDataSource.Datasets.Item(j).Name
                    Case 6
                        Me.tvwSpace.Nodes.Add "A" & objDataSource.Alias, tvwChild, , objDataSource.Datasets.Item(j).Name
                    Case 7
                        Me.tvwSpace.Nodes.Add "A" & objDataSource.Alias, tvwChild, , objDataSource.Datasets.Item(j).Name
                    Case 8
                        Me.tvwSpace.Nodes.Add "A" & objDataSource.Alias, tvwChild, , objDataSource.Datasets.Item(j).Name
                    Case 9
                        Me.tvwSpace.Nodes.Add "A" & objDataSource.Alias, tvwChild, , objDataSource.Datasets.Item(j).Name
                    Case 10
                        Me.tvwSpace.Nodes.Add "A" & objDataSource.Alias, tvwChild, , objDataSource.Datasets.Item(j).Name
                    Case 11
                        Me.tvwSpace.Nodes.Add "A" & objDataSource.Alias, tvwChild, , objDataSource.Datasets.Item(j).Name
                    Case 12
                        Me.tvwSpace.Nodes.Add "A" & objDataSource.Alias, tvwChild, , objDataSource.Datasets.Item(j).Name
                    Case 13
                        Me.tvwSpace.Nodes.Add "A" & objDataSource.Alias, tvwChild, , objDataSource.Datasets.Item(j).Name
                    Case Else
                        Me.tvwSpace.Nodes.Add "A" & objDataSource.Alias, tvwChild, , objDataSource.Datasets.Item(j).Name
                End Select
            Next j
            frmMain.tvwSpace.SelectedItem = frmMain.tvwSpace.Nodes.Item(2)
            '展开浏览分支
            tvwSpace.Nodes(1).Expanded = True
            tvwSpace.Nodes(2).Expanded = True
        Case 1                                     '转入数据集
            If Me.SuperWorkspace1.Datasources.Count < 1 Then
                MsgBox "当前工作空间中没有数据源"
                Exit Sub
            End If
            frmImportDs1.Show vbModal, Me
        Case 2                                     '转出数据集
            frmExport.Show vbModal, Me
        Case 3                                     '点选
            SuperMap1.Action = scaSelect
        Case 4                                     '漫游
            SuperMap1.Action = scaPan
        Case 5                                     '放大
            SuperMap1.Action = scaZoomIn
        Case 6                                     '缩小
            SuperMap1.Action = scaZoomOut
        Case 7                                     '自由缩放
            SuperMap1.Action = scaZoomFree
        Case 8                                     '全幅显示
            SuperMap1.ViewEntire
        Case 9                                     '退出
            SuperMap1.Close
            SuperMap1.Disconnect
            SuperWorkspace1.Close
            End
    End Select
End Sub

Private Sub Form_Load()
    SuperMap1.Connect SuperWorkspace1.Handle
    tvwSpace.Nodes.Add , , "工作空间", "工作空间"
    SuperMap1.Refresh
End Sub

Private Sub Form_Unload(Cancel As Integer)
    SuperMap1.Close
    SuperMap1.Disconnect
    SuperWorkspace1.Close
End Sub

Private Sub tvwSpace_DblClick()
    '添加数据集到SuperMap1
    Dim objDS As soDataSource
    Dim objDt As soDataset
    
    If tvwSpace.SelectedItem.Index = 1 Then Exit Sub
    If tvwSpace.SelectedItem.Parent.Index = 1 Then Exit Sub
    If objDt Is Nothing Then
        Set objDS = SuperWorkspace1.Datasources(tvwSpace.SelectedItem.Parent.Text)
        Set objDt = objDS.Datasets(tvwSpace.SelectedItem.Text)
        SuperMap1.Layers.RemoveAll
        SuperMap1.Layers.AddDataset objDt, True
        SuperMap1.ViewEntire
    End If
    Set objDt = Nothing
    Set objDS = Nothing
End Sub

⌨️ 快捷键说明

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