![]() |
Tipp 0011
|
Form ohne Titelleiste verschieben
|
 |
|
Autor/Einsender: Datum: |
|
Detlev Schubert 13.01.2001 |
|
Entwicklungsumgebung: |
|
VB 5 |
|
|
Wenn sich der Mauscursor auf der Titelleiste einer Form befindet, kann mit gedrückter linken Maustaste
normalerweise eine Form auf dem Desktop verschoben werden. Bei einer Form ohne Titelleiste ist das
natürlich nicht möglich. Wie dies mit nur wenigen Codezeilen doch realisierbar ist, zeigt dieses Beispiel.
|
Tipp
|
Möchten Sie nicht die gesamte Form sondern nur ein Steuerelement zum Verschieben nutzen, fügen Sie
die Codezeilen der Form_MouseDown-Prozedur einfach unverändert in die MouseDown-Prozedur
des entsprechenden Steuerelements ein.
|
|
Code im Codebereich des Moduls |
|
|
Option Explicit
Public Const HTCAPTION = 2
Public Const WM_NCLBUTTONDOWN = &HA1
'16 bit
Declare Function SendMessage Lib "user" (ByVal hwnd As Integer, _
ByVal wMsg As Integer, ByVal wParam As Integer, _
lParam As Any) As Long
Declare Function ReleaseCapture Lib "user32" () As Long
'32 bit
Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
(ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam _
As Long, lParam As Any) As Long
Declare Function ReleaseCapture Lib "user32" () As Long
|
|
|
Code im Codebereich der Form |
|
|
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, _
X As Single, Y As Single)
If Button = 1 Then
ReleaseCapture
SendMessage hwnd, WM_NCLBUTTONDOWN, HTCAPTION, 0
End If
End Sub
|
|
|
|
|
Windows-Version |
95 |
 |
|
98/SE |
 |
|
ME |
 |
|
NT |
 |
|
2000 |
 |
|
XP |
 |
|
Vista |
 |
|
Win
7 |
 |
|
|
VB-Version |
VBA 5 |
 |
|
VBA 6 |
 |
|
VB 4/16 |
 |
|
VB 4/32 |
 |
|
VB 5 |
 |
|
VB 6 |
 |
|
|
|
Download (2,4 kB)
|
Downloads bisher: [ 1656 ]
|
|
|