Declare Function ReleaseCapture Lib "user32" () As Long
Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Const HTCAPTION = 2
Const WM_NCLBUTTONDOWN = &HA1
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
ReleaseCapture
SendMessage hwnd, WM_NCLBUTTONDOWN, HTCAPTION, 0&
End Sub
Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Const HTCAPTION = 2
Const WM_NCLBUTTONDOWN = &HA1
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
ReleaseCapture
SendMessage hwnd, WM_NCLBUTTONDOWN, HTCAPTION, 0&
End Sub
Private Declare Sub ReleaseCapture Lib "user32" ()
Const WM_NCLBUTTONDOWN = &HA1
Const HTCAPTION = 2Dim lngReturnValue As Long
If Button = 1 Then
ReleaseCapture
lngReturnValue = SendMessage(hWnd, WM_NCLBUTTONDOWN, HTCAPTION, 0&)
End If
sendmessage me.hwnd,&Ha1,2,0&
Private Declare Function SendMessage Lib “user32” Alias “SendMessageA” (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As LongConst WM_SYSCOMMAND = &H112
Const SC_MOVE = &HF012在Form_MouseDown事件中输入以下代码:
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)'按下鼠标左键
If Button = vbLeftButton Then'为当前的应用程序释放鼠标捕获
ReleaseCapture'移动窗体
SendMessage Me.hwnd, WM_SYSCOMMAND, SC_MOVE, 0End If
End Sub
Option Explicit
Dim mouseX As Long
Dim mouseY As LongPrivate Sub form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If mouseX = 0 Or mouseY = 0 Then
mouseX = X
mouseY = Y
End If
End SubPrivate Sub form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If mouseX <> 0 Or mouseY <> 0 Then
Form1.Left = Form1.Left + (X - mouseX)
Form1.Top = Form1.Top + (Y - mouseY)
End If
End Sub
Private Sub form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
mouseX = 0
mouseY = 0
End Sub
只要像我上面做的就可以了
不信你试试