VB里如何实现拖曳效果?

来源:百度知道 编辑:UC知道 时间:2024/05/16 21:44:15
就是点击鼠标不放.控件就跟着鼠标.

Option Explicit

Private m_X, m_Y As Single
Private New_X, New_Y As Integer

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 1 Then m_X = X: m_Y = Y
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 1 And Me.WindowState = 0 Then
New_X = Me.Left + X - m_X
New_Y = Me.Top + Y - m_Y
If New_X < 0 Then New_X = 0
If New_X > Screen.Width - Me.Width Then New_X = Screen.Width - Me.Width
If New_Y < 0 Then New_Y = 0
If New_Y > Screen.Height - Me.Height Then New_Y = Screen.Height - Me.Height
Me.Move New_X, New_Y
End If
End Sub