|
Die aktuelle Position des Mauszeigers auf dem Bildschirm können
Sie mit der API-Funktion GetCursorPos
feststellen. Sie übergeben ihr die benutzerdefinierte Variable POINTAPI
(die eigentlich API heißt, aber so umbenannt wurde, damit sie nicht
in Konflikt mit der VB-Methode Point gerät) mit den beiden
Koordinaten-Elementen X und Y. Nach dem Aufruf sind die aktuellen
Koordinaten der Position des Mauzeigers dort abgelegt.
Die Hilfs-Prozedur GetMousePos liefert diese beiden Werte ur
einfacheren Verwendung in den Rückgabeparametern X und Y. Sie
können natürlich auch die beiden Koordinaten separat im
Funktions-Stil ermitteln, mit den Hilfs-Funktionen GetMouseX und
GetMouseY. Beachten Sie, dass die Koordinaten in Pixels
zurückgegeben werden - Sie können sie in andere Maßeinheiten von
der ScaleX- bzw. der ScaleY-Methode eines Forms, eines UserControls
o.ä. umrechen lassen.
Private Type POINTAPI
X As Long
Y As Long
End Type
Private Declare Function GetCursorPos Lib "user32" _
(lpPoint As POINTAPI) As Long
Public Sub GetMousePos(X As Long, Y As Long)
Dim nPoint As POINTAPI
GetCursorPos nPoint
With nPoint
X = .X
Y = .Y
End With
End Sub
Public Function GetMouseX() As Long
Dim nPoint As POINTAPI
GetCursorPos nPoint
GetMouseX = nPoint.X
End Function
Public Function GetMouseY() As Long
Dim nPoint As POINTAPI
GetCursorPos nPoint
GetMouseY = nPoint.Y
End Function
Wenn Sie nun noch wissen möchten, welches Fenster sich gerade
unter dem Mauszeiger im Vordergrund befindet, liefert Ihnen die
API-Funktion WindowFromPoint
das betreffende Fenster-Handle. Sie können sie direkt aufrufen und
die Koordinaten X und Y in Pixels übergeben.
Public Declare Function WindowFromPoint Lib "user32" _
(ByVal X As Long, ByVal Y As Long) As Long

|