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

📄 frmmain.frm

📁 都是基于VB所做的程序集合,值得大家作为实践的参考资料.
💻 FRM
字号:
VERSION 5.00
Object = "{F9043C88-F6F2-101A-A3C9-08002B2F49FB}#1.2#0"; "Comdlg32.ocx"
Object = "{99AA4EEF-16DB-41B9-8A9E-CACCD93FBD5D}#5.2#0"; "Super3D.ocx"
Object = "{03ED3B1E-ED1B-4A2E-8FE3-D8D1A673F5D4}#5.2#0"; "SuperMap.ocx"
Begin VB.Form frmMain 
   Caption         =   "三维渲染"
   ClientHeight    =   6345
   ClientLeft      =   60
   ClientTop       =   345
   ClientWidth     =   10905
   Icon            =   "frmMain.frx":0000
   LinkTopic       =   "Form1"
   MaxButton       =   0   'False
   MinButton       =   0   'False
   ScaleHeight     =   6345
   ScaleWidth      =   10905
   StartUpPosition =   2  'CenterScreen
   Begin VB.CommandButton btnPanRotate 
      Caption         =   "三维旋转"
      Height          =   495
      Left            =   9045
      TabIndex        =   6
      Top             =   30
      Width           =   1215
   End
   Begin VB.CommandButton btnPan 
      Caption         =   "三维平移"
      Height          =   495
      Left            =   7845
      TabIndex        =   5
      Top             =   30
      Width           =   1215
   End
   Begin VB.CommandButton btnZoomout 
      Caption         =   "三维缩小"
      Height          =   495
      Left            =   6645
      TabIndex        =   4
      Top             =   30
      Width           =   1215
   End
   Begin VB.CommandButton btnZoomin 
      Caption         =   "三维放大"
      Height          =   495
      Left            =   5445
      TabIndex        =   3
      Top             =   30
      Width           =   1215
   End
   Begin SuperMapLib.SuperMap SuperMap1 
      Height          =   5625
      Left            =   45
      TabIndex        =   1
      Top             =   600
      Width           =   5355
      _Version        =   327682
      _ExtentX        =   9446
      _ExtentY        =   9922
      _StockProps     =   160
      BorderStyle     =   1
   End
   Begin Super3DLib.Super3D Super3D1 
      Height          =   5625
      Left            =   5460
      TabIndex        =   2
      Top             =   600
      Width           =   5355
      _Version        =   327682
      _ExtentX        =   9446
      _ExtentY        =   9922
      _StockProps     =   128
      AltitudeField   =   ""
      Texture         =   ""
      ScaleZ          =   1
   End
   Begin SuperMapLib.SuperWorkspace SuperWorkspace1 
      Left            =   3540
      Top             =   2400
      _Version        =   327682
      _ExtentX        =   847
      _ExtentY        =   847
      _StockProps     =   0
   End
   Begin MSComDlg.CommonDialog cdlFile 
      Left            =   2625
      Top             =   4125
      _ExtentX        =   847
      _ExtentY        =   847
      _Version        =   393216
   End
   Begin VB.CommandButton btn3D 
      Caption         =   "三维渲染"
      Height          =   495
      Left            =   150
      TabIndex        =   0
      Top             =   30
      Width           =   1215
   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 控件、Super3D 控件;
'所用数据:..\data\city3d\city3d.sdb;
'操作说明:
'         1、点击“三维渲染”,在三维窗口中会显示二维城市数据的三维景观;
'         2、三维窗口上面提供三维浏览工具。
'===================================SuperMap Objects示范工程说明结束=====================================

Option Explicit

Private Sub btn3D_Click()
    If Super3D1.Layer3Ds.Count > 0 Then Exit Sub
    
    Dim objLayer As soLayer
    Dim objDt As soDataset
    Dim objLayer3D As so3DLayer
    
    If SuperMap1.Layers.Count < 1 Then Exit Sub
    Set objLayer = SuperMap1.Layers.Item(1)
    Set objDt = objLayer.Dataset
    If objDt Is Nothing Then Exit Sub
    
    Super3D1.AddResourceLocation App.Path & "\res"
    Set objLayer3D = Super3D1.Layer3Ds.AddDataset(objDt, True)
    objLayer3D.RelativeHeightField = "z"
    
    Super3D1.Refresh
End Sub

Private Sub btnZoomin_Click()
    Super3D1.Action = sca3DZoomIn
End Sub

Private Sub btnZoomout_Click()
    Super3D1.Action = sca3DZoomOut
End Sub

Private Sub btnPan_Click()
    Super3D1.Action = sca3DPan
End Sub

Private Sub btnPanRotate_Click()
    Super3D1.Action = sca3DPanRotate
End Sub

Private Sub Form_Load()
    SuperMap1.Connect SuperWorkspace1.Handle
    Super3D1.Connect SuperWorkspace1.Handle
    
    Dim strDataPath As String
    Dim objDs As soDataSource
    Dim objDt As soDataset
    
    strDataPath = App.Path & "\..\data\city3d\city3d.sdb"
    Set objDs = SuperWorkspace1.OpenDataSource(strDataPath, "city3d", sceSDBPlus, False)
    If Not objDs Is Nothing Then
        Set objDt = objDs.Datasets.Item(1)
        If Not objDt Is Nothing Then
            SuperMap1.Layers.AddDataset objDt, True
            SuperMap1.Refresh
        End If
    Else
        MsgBox "数据源打开失败", vbInformation
        Exit Sub
    End If
End Sub

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

⌨️ 快捷键说明

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