實現(xiàn)方法:利用MouseMove事件和SendMessage方法可以實現(xiàn)
代碼:
Private Const WM_SYSCOMMAND = &H112
Private Const SC_MOVE = &HF010&
Private Const HTCAPTION = 2
'----------------控件---------------
Private Sub Command1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 1 Then
'如果按下鼠標(biāo)左鍵
Dim ReturnVal As Long
X1 = ReleaseCapture()
ReturnVal1 = SendMessage(Command1.hWnd, WM_SYSCOMMAND, _
SC_MOVE + HTCAPTION, 0)
End If
End Sub
'----------------窗體---------------
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, _
X As Single, Y As Single)
If Button = 1 Then
'如果按下鼠標(biāo)左鍵
Dim ReturnVal As Long
X = ReleaseCapture()
ReturnVal = SendMessage(Form1.hWnd, WM_SYSCOMMAND, _
SC_MOVE + HTCAPTION, 0)
End If
End Sub
同理 我們也可以實現(xiàn)通過移動窗體上的控件來移動窗體 方法是:
'----------------通過控件移動窗體---------------
Private Sub Command1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 1 Then
'如果按下鼠標(biāo)左鍵
Dim ReturnVal As Long
X1 = ReleaseCapture()
ReturnVal1 = SendMessage(Me.hWnd, WM_SYSCOMMAND, _
SC_MOVE + HTCAPTION, 0)
End If
End Sub