📄 frmmain.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 + -