Zum vorherigen AbschnittZum nächsten Abschnitt Mauszeiger in Steuerlementen "fangen"
Wenn man verhindern will, dass der Benutzer zu anderen Anwendungen wechselt (denken Sie aber an Alt+Tab) oder einfach nur einen lustigen Effekt erzielen will, kann man den Bereich des Mauszeigers auf bestimmte Steuerelemente beschränken. Dazu benötigen Sie eine API-Funktion:
Ihre Bewertung:
 12345
    

Bewertung dieses Tipps:  (bewertet von insgesamt 13 Besuchern)

 Zum vorherigen AbschnittZum nächsten Abschnitt Deklarationen
Um diese API-Funktion in Ihren eigenen Projekten verwenden zu können, müssen Sie sie zuerst im Kopf der Datei deklarieren. Ich empfehle Ihnen, diese Deklaration in einem Modul vorzunehmen, da die Funktion dann später im gesamten Projekt zur Verfügung steht. Sonst, wenn Sie lieber eine Form zum Deklarieren verwenden möchten, müssen Sie jedes "Public" durch "Private" ersetzen. Die Variable "Winrect" muss übrigens nicht unbedingt im Kopf deklariert werden, sondern auch jedesmal neu, so ist es aber praktischer:

Public Declare Function ClipCursor Lib "user32" (Rect As Rect) As Long
Public Declare Sub FreeCursor Lib "user32" Alias "ClipCursor" (ByVal Rect As Long)
Public Declare Function GetWindowRect Lib "user32" (ByVal hWnd As Long, Rect As Rect) As Long

Public Type Rect
   Left As Long
   Top As Long
   Right As Long
   Bottom As Long
End Type

Public Winrect As Rect

 Zum vorherigen AbschnittZum nächsten Abschnitt Aufruf der Funktion(en)
Nun müssen Sie nur noch die Funktionen mit den richtigen Parametern aufrufen. Wenn Sie den Cursor "einfangen" wollen, machen Sie das mit den folgenden zwei Codezeilen:

GetWindowRect Objekt.hWnd, Winrect
ClipCursor Winrect

Statt "Objekt" muss natürlich ein der Name eines Steuerelements eingesetzt werden. Um die Beschränkung wieder aufzuheben, rufen Sie diese Zeile auf:

FreeCursor 0&

Achtung: Sie müssen den Mauszeiger beim Beenden Ihres Programms unbedingt wieder freigeben, da er sonst die ganze Zeit über (bis zum nächsten Neustart), nur in dem vorher festgelegten Bereich bewegt werden kann!


Quellen: SHADOWare.de
©2000 by SHADOWare, Thomas Bachem