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

📄 form1.frm

📁 都是基于VB所做的程序集合,值得大家作为实践的参考资料.
💻 FRM
字号:
VERSION 5.00
Object = "{F9043C88-F6F2-101A-A3C9-08002B2F49FB}#1.2#0"; "comdlg32.ocx"
Object = "{257830F1-B11E-4360-A3B9-E2E9D72A50E3}#3.2#0"; "SuperMap.ocx"
Begin VB.Form Form1 
   BorderStyle     =   3  'Fixed Dialog
   Caption         =   "地图量算"
   ClientHeight    =   5490
   ClientLeft      =   45
   ClientTop       =   330
   ClientWidth     =   8700
   LinkTopic       =   "Form1"
   MaxButton       =   0   'False
   MinButton       =   0   'False
   ScaleHeight     =   5490
   ScaleWidth      =   8700
   StartUpPosition =   2  'CenterScreen
   Begin VB.CommandButton CmdClear 
      Caption         =   "清 除"
      Height          =   375
      Left            =   6840
      TabIndex        =   17
      Top             =   1680
      Width           =   1335
   End
   Begin VB.CommandButton CmdRegion 
      Caption         =   "画 面"
      Height          =   375
      Left            =   6840
      TabIndex        =   16
      Top             =   1200
      Width           =   1335
   End
   Begin VB.CommandButton CmdLine 
      Caption         =   "画 线"
      Height          =   375
      Left            =   6840
      TabIndex        =   15
      Top             =   720
      Width           =   1335
   End
   Begin VB.CommandButton btnSelect 
      Caption         =   "选择"
      Height          =   375
      Left            =   165
      TabIndex        =   8
      Top             =   60
      Width           =   1200
   End
   Begin VB.CommandButton btnViewEntire 
      Caption         =   "全幅"
      Height          =   375
      Left            =   6165
      TabIndex        =   7
      Top             =   60
      Width           =   1200
   End
   Begin VB.CommandButton btnZoomFree 
      Caption         =   "自由缩放"
      Height          =   375
      Left            =   4965
      TabIndex        =   6
      Top             =   60
      Width           =   1200
   End
   Begin VB.CommandButton btnZoomOut 
      Caption         =   "缩小"
      Height          =   375
      Left            =   3765
      TabIndex        =   5
      Top             =   60
      Width           =   1200
   End
   Begin VB.CommandButton btnZoomIn 
      Caption         =   "放大"
      Height          =   375
      Left            =   2565
      TabIndex        =   4
      Top             =   60
      Width           =   1200
   End
   Begin VB.CommandButton btnPan 
      Caption         =   "漫游"
      Height          =   375
      Left            =   1365
      TabIndex        =   3
      Top             =   60
      Width           =   1200
   End
   Begin VB.CommandButton btnClose 
      Caption         =   "关闭"
      BeginProperty Font 
         Name            =   "宋体"
         Size            =   9
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   375
      Left            =   7365
      TabIndex        =   0
      Top             =   60
      Width           =   1200
   End
   Begin MSComDlg.CommonDialog CommonDialog1 
      Left            =   8280
      Top             =   2280
      _ExtentX        =   847
      _ExtentY        =   847
      _Version        =   393216
   End
   Begin SuperMapLib.SuperWorkspace SuperWorkspace1 
      Left            =   7800
      Top             =   2280
      _Version        =   196610
      _ExtentX        =   847
      _ExtentY        =   847
      _StockProps     =   0
   End
   Begin SuperMapLib.SuperMap SuperMap1 
      Height          =   4980
      Left            =   30
      TabIndex        =   2
      Top             =   480
      Width           =   6435
      _Version        =   196610
      _ExtentX        =   11351
      _ExtentY        =   8784
      _StockProps     =   160
      Appearance      =   1
   End
   Begin VB.Frame Frame1 
      Caption         =   "测量结果"
      Height          =   3150
      Left            =   6480
      TabIndex        =   1
      Top             =   2280
      Width           =   2175
      Begin VB.TextBox TxtArea 
         BackColor       =   &H00C0FFFF&
         ForeColor       =   &H00FF0000&
         Height          =   375
         Left            =   120
         TabIndex        =   13
         Text            =   "0.000000000"
         Top             =   2520
         Width           =   1935
      End
      Begin VB.TextBox TxtTolLength 
         BackColor       =   &H00C0FFFF&
         ForeColor       =   &H00FF0000&
         Height          =   375
         Left            =   120
         TabIndex        =   10
         Text            =   "0.0000000000"
         Top             =   1560
         Width           =   1920
      End
      Begin VB.TextBox TxtCurLength 
         BackColor       =   &H00C0FFFF&
         ForeColor       =   &H00FF0000&
         Height          =   375
         Left            =   120
         TabIndex        =   9
         Text            =   "0.0000000000"
         Top             =   600
         Width           =   1920
      End
      Begin VB.Label Label2 
         Caption         =   "面积:"
         BeginProperty Font 
            Name            =   "宋体"
            Size            =   9.75
            Charset         =   134
            Weight          =   400
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         Height          =   255
         Left            =   120
         TabIndex        =   14
         Top             =   2280
         Width           =   855
      End
      Begin VB.Label Label1 
         Caption         =   "总距离 :"
         BeginProperty Font 
            Name            =   "宋体"
            Size            =   9.75
            Charset         =   134
            Weight          =   400
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         Height          =   240
         Index           =   0
         Left            =   120
         TabIndex        =   12
         Top             =   1320
         Width           =   1320
      End
      Begin VB.Label Label1 
         Caption         =   "两点间距离:"
         BeginProperty Font 
            Name            =   "宋体"
            Size            =   9.75
            Charset         =   134
            Weight          =   400
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         Height          =   225
         Index           =   1
         Left            =   120
         TabIndex        =   11
         Top             =   360
         Width           =   1170
      End
   End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
'================================SuperMap Objects示范工程说明=================================
'
'功能简介:示范SuperMap Objects中折线的分段长度和总长度、多边形面积的量算。
'所用控件:Supermap控件和SuperWorkspace控件
'所用数据:..\Data\目录下的World.sdb和World.sdd两个文件
'操作说明:
'        1、测量折线长度:选中"画线"。在SuperMap控件中单击左键画出线,并计算出距离;单击右键:结束画线。
'        2、测量多边形面积:选中"画面"。在SuperMap控件中单击左键画多边形,单击右键结束,并计算出多边形面积。
'===============================SuperMap Objects 示范工程说明结束===============================

Private Sub btnClose_Click()
    Unload Me
End Sub

Private Sub btnPan_Click()
    SuperMap1.Action = scaPan
End Sub

Private Sub btnSelect_Click()
    SuperMap1.Action = scaSelect
End Sub

Private Sub btnViewEntire_Click()
    SuperMap1.ViewEntire
End Sub

Private Sub btnZoomFree_Click()
    SuperMap1.Action = scaZoomFree
End Sub

Private Sub btnZoomIn_Click()
    SuperMap1.Action = scaZoomIn
End Sub

Private Sub btnZoomOut_Click()
    SuperMap1.Action = scaZoomOut
End Sub

Private Sub CmdClear_Click()
    SuperMap1.TrackingLayer.ClearEvents
    SuperMap1.TrackingLayer.Refresh
End Sub

Private Sub CmdLine_Click()
    SuperMap1.TrackingLayer.ClearEvents
    SuperMap1.TrackingLayer.Refresh
    SuperMap1.Action = scaTrackPolyline
End Sub

Private Sub CmdRegion_Click()
    SuperMap1.TrackingLayer.ClearEvents
    SuperMap1.TrackingLayer.Refresh
    SuperMap1.Action = scaTrackPolygon
End Sub

Private Sub Form_Load()
      Dim strAlias As String '数据源别名
      Dim nEngineType As seEngineType '数据引擎类型
      Dim strDataSourceName As String '数据源绝对路径名
      Dim objDataSource As soDataSource '数据源对象,指向打开的数据源
      Dim objlayer As soLayer '图层对象变量,指向将要打开的图层
      Dim bAddToHead As Boolean '是否加到最上面
      Dim i As Integer '循环变量
      
      SuperMap1.Connect SuperWorkspace1.Object
      SuperMap1.Appearance = 1
      
      strAlias = "World" '原则上别名可以任意给,建议取成和数据源文件主名
      nEngineType = sceSDB 'SuperMap支持多种类型,此处为SDB类型
      strDataSourceName = App.Path & "\..\data\world.sdb"                       'CommonDialog1.FileName
      
      '打开数据源
      Set objDataSource = SuperWorkspace1.OpenDataSource(strDataSourceName, strAlias, nEngineType, True)
      If objDataSource Is Nothing Then
            MsgBox "打开数据源失败!", vbInformation
      Else
                  '把数据源中的所有图层加入到SuperMap中
            bAddToHead = True
            Set objlayer = SuperMap1.Layers.AddDataset(objDataSource.Datasets.Item("grid"), bAddToHead)
            Set objlayer = SuperMap1.Layers.AddDataset(objDataSource.Datasets.Item("world"), bAddToHead)
      End If
      
      '释放内存
      Set objDataSource = Nothing
      Set objlayer = Nothing
End Sub

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

Private Sub SuperMap1_Tracked()
    Dim objStyle As New soStyle
    Dim objGeometry As soGeometry
    
    objStyle.PenWidth = 2
    objStyle.PenColor = vbBlue
    objStyle.PenStyle = 0
    objStyle.BrushStyle = 1
    
    Set objGeometry = SuperMap1.TrackedGeometry
    If Not (objGeometry Is Nothing) Then
        SuperMap1.TrackingLayer.AddEvent objGeometry, objStyle, ""
        SuperMap1.TrackingLayer.Refresh
        SuperMap1.Action = scaSelect
    End If
    
    Set objStyle = Nothing
    Set objGeometry = Nothing
End Sub

Private Sub SuperMap1_Tracking(ByVal x As Double, ByVal y As Double, ByVal dCurrentLength As Double, ByVal dCurrentAngle As Double, ByVal dTotalLength As Double, ByVal dTotalArea As Double, ByVal nButtonClicked As Long)
    '关键代码,在画线/面的同时跟踪显示当前线段长度、总长度和面积
    TxtCurLength.Text = dCurrentLength
    TxtTolLength.Text = dTotalLength
    TxtArea.Text = dTotalArea
End Sub

⌨️ 快捷键说明

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