毕业设计 DEMO_1 地图显示模块 源码分享

Posted by Leask on January 26, 2008
'=============================================================
'地图显示模块 DEMO 1
'
'设计/编程: 黄思夏
'Design/Program: Leask Huang
'Copyfree (C) 2008 Leask Huang
'
'==============================================================

 

Option Explicit
Dim Move_X As Long
Dim Move_Y As Long

 

Private Sub Map_Init()
Map_CT_X.Top = Map_FM.Top + Map_FM.Height + 10
Map_CT_Y.Left = Map_FM.Left + Map_FM.Width + 10
Map_CT_X.Height = 280
Map_CT_Y.Width = 280
Map_CT_X.Width = Map_FM.Width
Map_CT_Y.Height = Map_FM.Height
Map_CT_X.Left = Map_FM.Left
Map_CT_Y.Top = Map_FM.Top
Map_CT_X.Min = 0
Map_CT_X.Max = Map_FM.Width - Map_CT.Width
Map_CT_Y.Min = 0
Map_CT_Y.Max = Map_FM.Height - Map_CT.Height
Map_CT.Left = 0
Map_CT.Top = 0
End Sub

 

Private Sub Form_Load()
Map_Init
End Sub

 

Private Sub Map_CT_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 1 Then
Move_X = X
Move_Y = Y
End If
End Sub

 

Private Sub Map_CT_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 1 Then
Dim Move_X_Do As Long
Dim Move_Y_Do As Long
Move_X_Do = Map_CT.Left + X - Move_X
Move_Y_Do = Map_CT.Top + Y - Move_Y
If Move_X_Do > 0 Then Move_X_Do = 0
If Move_X_Do + Map_CT.Width - Map_FM.Width < 0 Then Move_X_Do = Map_FM.Width - Map_CT.Width
If Move_Y_Do + Map_CT.Height - Map_FM.Height < 0 Then Move_Y_Do = Map_FM.Height - Map_CT.Height
If Move_Y_Do > 0 Then Move_Y_Do = 0
Map_CT.Left = Move_X_Do
Map_CT.Top = Move_Y_Do
Map_CT_X.Value = Map_CT.Left
Map_CT_Y.Value = Map_CT.Top
End If
Label1(0).Caption = "X: " & X
Label1(1).Caption = "Y: " & Y
End Sub


Private Sub Map_CT_x_Scroll()
Map_CT.Left = Map_CT_X.Value
End Sub

 

Private Sub Map_CT_Y_Scroll()
Map_CT.Top = Map_CT_Y.Value
End Sub