Rubrik: Maus & Tastatur | 09.05.01 |
ClipCursor-Funktion Diese Funktion schränkt den Bewegungsfreiraum der Maus ein. ClipCursor kann dazu verwendet werden, die Maus nicht über einem bestimmten ... | ||
Betriebssystem: Win95, Win98, WinNT, Win2000, WinME | Views: 11.315 |
Beschreibung:
Diese Funktion schränkt den Bewegungsfreiraum der Maus ein. ClipCursor kann dazu verwendet werden, die Maus nicht über einem bestimmten Koordinaten-Rechteck hinaus bewegen zu können. Um die Mausbewegung wieder frei zu geben, rufen Sie diese Funktion erneut auf, jedoch unter Angabe der Bildschirmkoordinaten.
Deklaration:
Declare Function ClipCursor Lib "user32.dll" (lpRect As Any) As Long
Parameter:
lpRect | Erwartet eine RECT-Struktur, welche die Eckpunkte für das einzugrenzende Rechteck angibt. |
Rückgabewert:
War der Funktionsaufruf erfolgreich, wird ein Wert ungleich 0 zurückgegeben. Tritt ein Fehler auf, so ist der Rückgabewert 0. Erweiterte Fehler-Informationen können über die Funktion GetLastError abgefragt werden.
Beispiel:
Private Declare Function ClipCursor Lib "user32.dll" (lpRect As Any) As Long Private Type RECT Left As Long Top As Long Right As Long Bottom As Long End Type ' Die Maus darf nur noch innerhalb des aktuellen Fensters bewegt werden. ' Damit das Fenster nicht aus dem Bereich verschoben werden kann, ' siehe Tipp <img src='../images/16x16/tipp.gif' width=16 height=16 border=0 align=absmiddle> <a href="../tipps/details.php?id=57">Verschieben eines Fensters unterbinden</a>
Private Sub Form_Load () Dim TmpR As RECT Dim RetVal As Long ' Angabe der Fenster-Koordinaten With TmpR .Top = Form1.Top / Screen.TwipsPerPixelY .Bottom = .Top + Form1.Height / Screen.TwipsPerPixelY .Left = Form1.Left / Screen.TwipsPerPixelX .Right = .Left + Form1.Width / Screen.TwipsPerPixelX End With RetVal = ClipCursor(TmpR) If RetVal = 0 Then MsgBox "Funktionsaufruf gescheitert", vbInformation , "Fehler" End If End Sub
' WICHTIG: Diese Funktion hebt die Bewegungseinschränkung ' der Maus wieder auf Private Sub Form_QueryUnload (Cancel As Integer, UnloadMode As Integer) Dim TmpR As RECT Dim RetVal As Long ' Koordinaten des gesamten Bildschirmbereichs With TmpR .Top = 0 .Bottom = Screen.Height / Screen.TwipsPerPixelY .Left = 0 .Right = Screen.Width / Screen.TwipsPerPixelX End With RetVal = ClipCursor(TmpR) End Sub