Visual Basic 6
Fenster ohne Titelleiste bewegen
Verschieben einer Form per Maus und API
Möchte man einmal etwas andere Formulare entwerfen, wie z.B. Shaped-Forms
ohne Original-Titelleiste, so muss man doch dem Benutzer die Möglichkeit geben
diese Fenster auf dem Desktop dorthin zu bewegen wo er sie haben möchte. Was
in Programmen wie WinAmp geht, anfassen des Fensters irgendwo innerhalb der
Form und verschieben, geht mit VB auch: Stichwort API und SendMessage...
Deklarationen
Private Const WM_NCLBUTTONDOWN As Long = &HA1&
Private Const HTCAPTION As Long = 2&
Private Declare Function SendMessage Lib "User32" Alias "SendMessageA" ( _
ByVal hWnd As Long, _
ByVal Message As Long, _
ByVal wParam As Long, _
ByRef lParam As Any) As Long
Private Declare Sub ReleaseCapture Lib "User32" ()
Event-Prozedur
Private Sub Form_MouseMove( _
Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = vbLeftButton Then
Call ReleaseCapture
Call SendMessage(Me.hWnd, WM_NCLBUTTONDOWN, HTCAPTION, 0)
End If
End Sub