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

📄 frmdefinecoords.frm

📁 Shape 坐标转换程序 Shape 坐标转换程序
💻 FRM
📖 第 1 页 / 共 4 页
字号:
               Caption         =   "Dy"
               Height          =   255
               Left            =   240
               TabIndex        =   18
               Top             =   600
               Width           =   495
            End
            Begin VB.Label lblDz 
               Caption         =   "Dz"
               Height          =   255
               Left            =   240
               TabIndex        =   17
               Top             =   960
               Width           =   495
            End
            Begin VB.Label lblEx 
               Caption         =   "Ex"
               Height          =   255
               Left            =   2520
               TabIndex        =   16
               Top             =   240
               Width           =   615
            End
            Begin VB.Label lblEy 
               Caption         =   "Ey"
               Height          =   255
               Left            =   2520
               TabIndex        =   15
               Top             =   600
               Width           =   615
            End
            Begin VB.Label lblEz 
               Caption         =   "Ez"
               Height          =   255
               Index           =   0
               Left            =   2520
               TabIndex        =   14
               Top             =   960
               Width           =   615
            End
            Begin VB.Label lblMScale 
               Caption         =   "mScale"
               Height          =   255
               Left            =   240
               TabIndex        =   13
               Top             =   1320
               Width           =   615
            End
         End
      End
      Begin VB.Frame Frame1 
         Caption         =   "自定义坐标系统转换设置"
         Height          =   4875
         Left            =   120
         TabIndex        =   1
         Top             =   480
         Width           =   4815
         Begin VB.OptionButton OptBJ54ToWGS84 
            Caption         =   "新北京54-WGS84"
            Height          =   375
            Left            =   960
            TabIndex        =   3
            Top             =   2520
            Width           =   2055
         End
         Begin VB.OptionButton OptBJ54ToTWD67ToTWD97 
            Caption         =   "新北京54-TWD67-TWD97"
            Height          =   495
            Left            =   960
            TabIndex        =   2
            Top             =   1800
            Value           =   -1  'True
            Width           =   2535
         End
      End
   End
End
Attribute VB_Name = "frmDefineCoord"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
'********************************************************************************
'文 件 名:frmShpTrans.frm
'描    述:自定义转换设置窗体
'作    者:王来刚
'建立日期:2005年11月15日
'修 改 者:
'修改日期:
'修改内容:(简要说明修改的原因、内容,如改动很大,将改动前的源程序列在文件头注释中)
'修 改 者:
'修改日期:
'修改内容:
'*********************************************************************************
Private Sub cmdExit_Click()
    Unload Me
End Sub

Private Sub cmdOK_Click()
On Error GoTo er
    If Me.OptBJ54ToWGS84.Value = True Then
        miConvMode = 1   '设置转换模式
    ElseIf Me.OptBJ54ToTWD67ToTWD97.Value = True Then
        miConvMode = 2
    End If
    If Not CheckValid() Then Exit Sub
    '将转换参数传给公用变量
    If OptBJ54ToWGS84.Value Then
        '北京54到WGS84之间的转换参数
        m_dDx_1 = CDbl(txtDx_1.Text)
        m_dDy_1 = CDbl(txtDy_1.Text)
        m_dDz_1 = CDbl(txtDz_1.Text)
        m_dEx_1 = CDbl(txtEx_1.Text)
        m_dEy_1 = CDbl(txtEy_1.Text)
        m_dEz_1 = CDbl(txtEz_1.Text)
        m_dm_1 = CDbl(txtmScale_1.Text)
        m_dBJ54A_1 = CDbl(txtBJ54A_1.Text)
        m_dBJ54F_1 = CDbl(txtBJ54F_1.Text)
        m_dWGS84A_1 = CDbl(txtWGS84A_1.Text)
        m_dWGS84F_1 = CDbl(txtWGS84F_1.Text)
    ElseIf OptBJ54ToTWD67ToTWD97.Value Then
        '北京54到TWD67转换的参数
        m_dDx_2 = CDbl(txtDX_2.Text)
        m_dDy_2 = CDbl(txtDy_2.Text)
        m_dDz_2 = CDbl(txtDz_2.Text)
        m_dEx_2 = CDbl(txtEx_2.Text)
        m_dEy_2 = CDbl(txtEy_2.Text)
        m_dEz_2 = CDbl(txtEz_2.Text)
        m_dm_2 = CDbl(txtMScale_2.Text)
        m_dBJ54A_2 = CDbl(txtBJ54A_2.Text)
        m_dBJ54F_2 = CDbl(txtBJ54F_2.Text)
        m_dTWD67A_2 = CDbl(txtTWD67A_2.Text)
        m_dTWD67F_2 = CDbl(txtTWD67F_2.Text)
        'TWD67再到TWD97转换的参数
        m_dDx_3 = CDbl(txtDX_3.Text)
        m_dDy_3 = CDbl(txtDY_3.Text)
        m_dDz_3 = CDbl(txtDZ_3.Text)
        m_dm_3 = CDbl(txtMSCale_3.Text)
        m_dTwd67A_3 = CDbl(txtTWD67A_3.Text)
        m_dTwd67F_3 = CDbl(txtTWD67F_3.Text)
        m_dTwd97A_3 = CDbl(txtTWD97A_3.Text)
        m_dTwd97F_3 = CDbl(txtTWD97F_3.Text)
    End If
    '--------------------测试坐标转换参数------------------
'    Dim Dx As Double
'    Dim Dy As Double
'    Dx = 120
'    Dy = 23
'    Dim dX1 As Double
'    Dim dY1 As Double
'    InitPara -1
'    BLCoorTrans54to84DefineEx Dx, Dy, 1, dX1, dY1
'    Debug.Print dX1, dY1
'    Stop
    '--------------------测试坐标转换参数------------------
    Unload Me
    Exit Sub
er:
    MsgBox "请输入数字型参数", vbCritical + vbOKOnly, "错误!"
End Sub

Private Sub Form_Load()
    WindowsXPC1.FrameControl = False
    WindowsXPC1.InitSubClassing
    InitializeMe
End Sub

Private Sub Form_Unload(Cancel As Integer)
    WindowsXPC1.EndWinXPCSubClassing
End Sub

'-----------------
'检查数据输入合法行
'如果错误则直接定位到发生错误的控件上
'发现错误后首先转到对应的Tab页面,然后
'定位到相应的输入数据框内
'-----------------
Private Function CheckValid() As Boolean
On Error GoTo errHandler
  CheckValid = False
  If OptBJ54ToWGS84.Value Then
    '检查FraBj54ToWGS84内容
    If Trim$(txtBJ54A_1.Text) = "" Then
      MsgBox "北京54椭球体长半轴不能为空值.", vbOKOnly + vbInformation, "提示"
      SetCurTab 1
      txtBJ54A_1.SetFocus
      Exit Function
    Else
      If Not IsNumeric(Trim$(txtBJ54A_1.Text)) Then
        MsgBox "北京54椭球体长半轴输入值非法,请返回检查.", vbOKOnly + vbInformation, "提示"
        SetCurTab 1   '返回到对应的Tab页面
        txtBJ54A_1.SetFocus
        Exit Function
      End If
    End If
    If Trim$(txtBJ54F_1.Text) = "" Then
      MsgBox "北京54椭球体扁率不能为空值.", vbOKOnly + vbInformation, "提示"
      SetCurTab 1 '返回到对应的Tab页面
      txtBJ54F_1.SetFocus
      Exit Function
    Else
      If Not IsNumeric(Trim$(txtBJ54F_1.Text)) Then
        MsgBox "北京54椭球体扁率输入值非法,请返回检查.", vbOKOnly + vbInformation, "提示"
        SetCurTab 1 '返回到对应的Tab页面
        txtBJ54F_1.SetFocus
        Exit Function
      End If
    End If
    If Trim$(txtWGS84A_1.Text) = "" Then
      MsgBox "WGS84椭球体长半轴不能为空值.", vbOKOnly + vbInformation, "提示"
      SetCurTab 1
      txtWGS84A_1.SetFocus  '返回到对应的Tab页面
      Exit Function
    Else
      If Not IsNumeric(Trim$(txtWGS84A_1.Text)) Then
        MsgBox "WGS84椭球体长半轴输入值非法,请返回检查.", vbOKOnly + vbInformation, "提示"
        SetCurTab 1
        txtWGS84A_1.SetFocus
        Exit Function
      End If
    End If
    If Trim$(txtWGS84F_1.Text) = "" Then
      MsgBox "WGS84椭球体扁率不能为空值.", vbOKOnly + vbInformation, "提示"
      SetCurTab 1
      txtWGS84F_1.SetFocus '返回到对应的Tab页面
      Exit Function
    Else
      If Not IsNumeric(Trim$(txtWGS84F_1.Text)) Then
        MsgBox "WGS84椭球体扁率输入值非法,请返回检查.", vbOKOnly + vbInformation, "提示"
        SetCurTab 1 '返回到对应的Tab页面
        txtWGS84F_1.SetFocus
        Exit Function
      End If
    End If
    If Trim$(txtDx_1.Text) = "" Then
      MsgBox "DX值不能为空.", vbOKOnly + vbInformation, "提示"
      SetCurTab 1 '返回到对应的Tab页面
      txtDx_1.SetFocus '返回到对应的Tab页面
      Exit Function
    Else
      If Not IsNumeric(txtDx_1.Text) Then
        MsgBox "DX输入值非法,请检查输入.", vbOKOnly + vbInformation, "提示"
        SetCurTab 1 '返回到对应的Tab页面
        txtDx_1.SetFocus '返回到对应的Tab页面
        Exit Function
      End If
    End If
    If Trim$(txtDy_1.Text) = "" Then
      MsgBox "DY值不能为空.", vbOKOnly + vbInformation, "提示"
      SetCurTab 1
      txtEy_1.SetFocus '返回到对应的Tab页面
      Exit Function
    Else
      If Not IsNumeric(txtDy_1.Text) Then
        MsgBox "DY值不能为空.", vbOKOnly + vbInformation, "提示"
        SetCurTab 1
        txtDy_1.SetFocus
        Exit Function
      End If
    End If
    If Trim$(txtDz_1.Text) = "" Then
      MsgBox "DY值不能为空.", vbOKOnly + vbInformation, "提示"
      SetCurTab 1
      txtDz_1.SetFocus
      Exit Function
    Else
      If Not IsNumeric(txtDz_1.Text) Then
        MsgBox "EZ值不能为空.", vbOKOnly + vbInformation, "提示"
        SetCurTab 1
        txtDz_1.SetFocus
        Exit Function
      End If
    End If
    If Trim$(txtEx_1.Text) = "" Then
      MsgBox "EX值不能为空.", vbOKOnly + vbInformation, "提示"
      SetCurTab 2
      txtEx_1.SetFocus '返回到对应的Tab页面
      Exit Function
    Else
      If Not IsNumeric(txtEx_1.Text) Then
        MsgBox "EX输入值非法,请检查输入.", vbOKOnly + vbInformation, "提示"
        SetCurTab 1 '返回到对应的Tab页面
        txtEx_1.SetFocus
        Exit Function
      End If
    End If
    If Trim$(txtEy_1.Text) = "" Then
      MsgBox "EY值不能为空.", vbOKOnly + vbInformation, "提示"
      txtEy_1.SetFocus '返回到对应的Tab页面
      Exit Function
    Else
      If Not IsNumeric(txtEy_1.Text) Then
        MsgBox "EY值不能为空.", vbOKOnly + vbInformation, "提示"
        SetCurTab 1
        txtEy_1.SetFocus '返回到对应的Tab页面
        Exit Function
      End If
    End If
    If Trim$(txtEz_1.Text) = "" Then
      MsgBox "EY值不能为空.", vbOKOnly + vbInformation, "提示"
      txtEz_1.SetFocus '返回到对应的Tab页面
      Exit Function
    Else
      If Not IsNumeric(txtEz_1.Text) Then
        MsgBox "EZ值不能为空.", vbOKOnly + vbInformation, "提示"
        SetCurTab 1
        txtEz_1.SetFocus
        Exit Function
      End If
    End If
    If Trim$(txtmScale_1.Text) = "" Then
      MsgBox "mScale值不能为空.", vbOKOnly + vbInformation, "提示"
      SetCurTab 1 '返回到对应的Tab页面
      txtmScale_1.SetFocus
      Exit Function
    Else
      If Not IsNumeric(txtmScale_1.Text) Then
        MsgBox "mScale值不能为空.", vbOKOnly + vbInformation, "提示"
        SetCurTab 1
        txtmScale_1.SetFocus '返回到对应的Tab页面
        Exit Function
      End If
    End If
  Else
    '---------------------------------------------------------------
    '检查另外的坐标转换参数
    'BJ54-TWD67-TWD97
    If Trim$(txtBJ54A_2.Text) = "" Then
      MsgBox "北京54椭球体长半轴不能为空值.", vbOKOnly + vbInformation, "提示"
      SetCurTab 2 '返回到对应的Tab页面
      txtBJ54A_2.SetFocus
      Exit Function
    Else
      If Not IsNumeric(Trim$(txtBJ54A_2.Text)) Then

⌨️ 快捷键说明

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