📄 frmmain.frm
字号:
VERSION 5.00
Object = "{F9043C88-F6F2-101A-A3C9-08002B2F49FB}#1.2#0"; "comdlg32.ocx"
Object = "{03ED3B1E-ED1B-4A2E-8FE3-D8D1A673F5D4}#5.2#0"; "SuperMap.ocx"
Begin VB.Form FrmMain
BorderStyle = 3 'Fixed Dialog
Caption = "SQL查询"
ClientHeight = 6045
ClientLeft = 45
ClientTop = 330
ClientWidth = 8700
Icon = "frmMain.frx":0000
LinkTopic = "Form1"
MaxButton = 0 'False
MinButton = 0 'False
ScaleHeight = 6045
ScaleWidth = 8700
StartUpPosition = 2 'CenterScreen
Begin SuperMapLib.SuperWorkspace SuperWorkspace1
Left = 3180
Top = 2400
_Version = 327682
_ExtentX = 847
_ExtentY = 847
_StockProps = 0
End
Begin SuperMapLib.SuperMap SuperMap1
Height = 5595
Left = 120
TabIndex = 9
Top = 480
Width = 8535
_Version = 327682
_ExtentX = 15055
_ExtentY = 9869
_StockProps = 160
End
Begin VB.CommandButton btnShowDt
Caption = "显示生成的数据集"
Enabled = 0 'False
Height = 375
Left = 6195
TabIndex = 8
Top = 0
Width = 1635
End
Begin VB.CommandButton btnViewEntire
Caption = "全幅显示"
Height = 375
Left = 4275
TabIndex = 7
Top = 0
Width = 1035
End
Begin VB.CommandButton btnZoomFree
Caption = "自由缩放"
Height = 375
Left = 3210
TabIndex = 6
Top = 0
Width = 1065
End
Begin VB.CommandButton btnZoomOut
Caption = "缩小"
Height = 375
Left = 2400
TabIndex = 5
Top = 0
Width = 810
End
Begin VB.CommandButton btnZoomIn
Caption = "放大"
Height = 375
Left = 1620
TabIndex = 4
Top = 0
Width = 780
End
Begin VB.CommandButton btnPan
Caption = "漫游"
Height = 375
Left = 840
TabIndex = 3
Top = 0
Width = 780
End
Begin VB.CommandButton btnSelect
Caption = "选择"
Height = 375
Left = 75
TabIndex = 2
Top = 0
Width = 765
End
Begin VB.CommandButton btnSQL
Caption = "SQL"
Height = 375
Left = 5310
TabIndex = 1
Top = 0
Width = 885
End
Begin VB.CommandButton btnExit
Caption = "退出"
Height = 375
Left = 7830
TabIndex = 0
Top = 0
Width = 825
End
Begin MSComDlg.CommonDialog CommonDialog1
Left = 645
Top = 3675
_ExtentX = 847
_ExtentY = 847
_Version = 393216
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 Objects的SQL查询功能和高亮显示中再高亮显示功能
'所用控件:SuperMap控件和SuperWorkspace控件
'所用数据:上一级目录\..\Data\world下的World.sdb和World.sdd两个文件。
'操作说明:
' 1、点击"SQL"按钮,弹出"SQL条件"对话框,在其上选择要进行SQL查询的图层,配置好SQL条件表达式,
' 设置好"选项"中的内容,"确定",符合条件的对象会列在"查询结果"对话框中,同时,查询到的对象
' 将以一种高亮显示出来。
' 2、在"查询结果"对话框中,选中列表中的一行,地图窗口中它对应的几何对象会以另一种高亮方式显示出来。
' 3、当前在进行SQL查询时,选择了"保存结果为数据集",则单击主窗口上的"显示生成的数据集"按钮,可
' 以在地图窗口中显示出来,该按钮会变成"显示全部图层",单击它会显示出全部图层。
'
'===================================SuperMap Objects示范工程说明结束=====================================
Public strDtName As String
Private Sub btnExit_Click()
Dim i As Integer
If Forms.Count > 1 Then
For i = Forms.Count - 1 To 1 Step -1
Unload Forms(i)
Next
End If
Unload Me
End Sub
Private Sub btnSQL_Click()
frmSQLExpression.Show vbModal, Me
End Sub
Private Sub btnShowDt_Click()
Dim i As Integer
Dim objDs As soDataSource
Dim objDt As soDataset
If btnShowDt.Caption = "显示生成的数据集" Then
Set objDs = SuperWorkspace1.Datasources(1)
If strDtName = "" Then Exit Sub
SuperMap1.Layers.RemoveAll
Set objDt = objDs.Datasets(strDtName)
SuperMap1.Layers.AddDataset objDt, True
SuperMap1.Refresh
btnShowDt.Caption = "显示全部图层"
Else
Set objDs = SuperWorkspace1.Datasources(1)
For i = 1 To objDs.Datasets.Count
Set objDt = objDs.Datasets(i)
SuperMap1.Layers.AddDataset objDt, True
Next
btnShowDt.Caption = "显示生成的数据集"
End If
SuperMap1.Refresh
End Sub
Private Sub btnSelect_Click()
SuperMap1.Action = scaSelect '选择
End Sub
Private Sub btnPan_Click()
SuperMap1.Action = scaPan '漫游
End Sub
Private Sub btnZoomIn_Click()
SuperMap1.Action = scaZoomIn '放大
End Sub
Private Sub btnZoomOut_Click()
SuperMap1.Action = scaZoomOut '缩小
End Sub
Private Sub btnZoomFree_Click()
SuperMap1.Action = scaZoomFree '自由缩放
End Sub
Private Sub btnViewEntire_Click()
SuperMap1.ViewEntire '全幅显示
End Sub
Private Sub Form_Load()
Dim strAlias As String '数据源别名
Dim nEngineType As seEngineType '数据引擎类型
Dim strDataSourceName As String '数据源绝对路径名
Dim objDataSource As soDataSource '数据源对象,指向打开的数据源
Dim i As Integer '循环变量
SuperMap1.Connect SuperWorkspace1.Handle
strAlias = "World" '原则上别名可以任意给,建议取成和数据源文件主名
nEngineType = sceSDBPlus 'SuperMap支持多种类型,此处为SDB类型
strDataSourceName = App.Path & "\..\Data\World\world.sdb"
strAlias = "world"
'打开数据源
Set objDataSource = SuperWorkspace1.OpenDataSource(strDataSourceName, strAlias, nEngineType, False)
If objDataSource Is Nothing Then
MsgBox "打开数据源失败!", vbInformation
Exit Sub
Else
'把数据源中的所有图层加入到SuperMap中
SuperMap1.Layers.AddDataset objDataSource.Datasets.Item("Grid"), True
SuperMap1.Layers.AddDataset objDataSource.Datasets.Item("World"), True
End If
SuperMap1.MarginPanEnable = False
'刷新地图窗口
SuperMap1.Refresh
'释放内存
Set objDataSource = Nothing
End Sub
Private Sub Form_Unload(Cancel As Integer)
SuperMap1.Close
SuperMap1.Disconnect
SuperWorkspace1.Close
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -