Um diese API-Funktion in eigenen Projekten nutzen zu können, muss sie zuerst im Kopf der Datei deklariert werden.
Ich empfehle Ihnen, diese Deklaration in einem Modul vorzunehmen, da die Funktion dann später im gesamten Projekt
zur Verfügung steht. Andernfalls, wenn Sie lieber eine Form zum Deklarieren verwenden möchten, müssen Sie jedes
Vorkommen von "Public" in "Private" ändern:
'API-Funktion deklarieren
Public Declare Function SetCursorPos Lib "user32" (ByVal X As Long, ByVal Y As Long) As Long
'Nur bei Verwendung von CenterCursor nötig:
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
Um nun die Cursorposition zu verändern, gehen Sie wie folgt vor:
Call SetCursorPos(X, Y) 'API-Funktion aufrufen
|
X =
|
Setzen Sie statt diesem Zeichen bitte die X-Zielkoordinate ein.
|
|
Y =
|
Setzen Sie hier bitte die Y-Zielkoordinate ein.
|
Beachten Sie bitte, das diese Werte
in Pixeln angegeben werden müssen. Um diese
in die standardmäßig in VB verwendeten Twips umzurechnen, schauen Sie sich bitte den Tipp
"
Pixel in Twips umrechnen und umgekehrt" an.
Mit Hilfe der folgenden Funktion können Sie den Mauszeiger ganz leicht auf anderen Objekten wie z.B. Buttons
zentrieren:
Sub CenterCursor(varObject As Integer)
Dim CtlSize As Rect
GetWindowRect varObject, CtlSize
SetCursorPos CtlSize.Left + (CtlSize.Right - CtlSize.Left) / 2, CtlSize.Top + (CtlSize.Bottom - CtlSize.Top) / 2
End Sub
Sie können sich hier ein Beispiel als Projektdatei für Vb5 und Vb6 herunterladen.
|
Quellen: SHADOWare.de
Letzte Änderung: 26.00
|
©2000 by SHADOWare, Thomas Bachem
|