VB编程:ReleaseCapture&SendMessage拖动无标题栏的窗体-57

VB编程:ReleaseCapture&SendMessage拖动无标题栏的窗体-57


Private Declare Function ReleaseCapture Lib "user32" () As Long
Private 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   '161

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Dim r As Long
    Dim i
    If Button = 1 Then
        i = ReleaseCapture()
        r = SendMessage(hwnd, WM_NCLBUTTONDOWN, HTCAPTION, 0)
    End If
End Sub