Rubrik: Maus & Tastatur | 22.03.05 |
ReleaseCapture-Funktion Diese Funktion hebt die SetCapture-Funktion wieder auf. | ||
Betriebssystem: Win95, Win98, WinNT 3.1, Win2000, WinME | Views: 12.002 |
Deklaration:
Declare Function ReleaseCapture Lib "user32.dll" () As Long
Beschreibung:
Diese Funktion hebt die SetCapture-Funktion wieder auf, so dass alle Fenster wieder die Mausereignisse empfangen können. Dabei spielt es keineRolle welches Fenster zuvor die SetCapture-Funktion aufgerufen hat.
Rückgabewert:
Ist die Funktion erfolgreich, so gibt sie eine Zahl ungleich "0" zurück. Andernfalls gibt die Funktion "0" zurück. Für erweiterte Fehler Informationen kann man die GetLastError-Funktion aufrufen.
Beispiel:
Private Declare Function SetCapture Lib "user32.dll" ( _ ByVal hwnd As Long) As Long Private Declare Function GetCapture Lib "user32.dll" () As Long Private Declare Function ReleaseCapture Lib "user32.dll" () As Long Private Declare Function SetFocusWnd Lib "user32.dll" _ Alias "SetFocus" ( _ ByVal hwnd As Long) As Long
' Dieses Beispiel zeigt, wie man mit der "SetCapture"-Funktion ein MouseIn- & ' MouseOut-Ereignis aufrufen kann, so wie das bei JAVA Controls der Fall ist. ' Bitte platzieren Sie mehrere CommandButtons ' mit gleichem Namen und unterschiedlichem Index auf der Form. Private Sub Form_Load () ScaleMode = vbTwips End Sub
Private Sub Command1_MouseMove(Index As Integer, Button As Integer, Shift _ As Integer, X As Single, Y As Single) With Command1(Index) ' Befindet sich die Maus über dem Commandbutton ? If X <= 0 And Y <= 0 And X <= .Width And Y <= .Height Then SetCapture .hWnd .FontBold = True Else ' wenn nicht, Capture lösen ReleaseCapture .FontBold = False End If ' Beispiel für GetCapture SetFocusWnd GetCapture End With End Sub