Forumbeitrag
Excel-Version des Fragestellers:
2010
Erfahrungslevel des Fragestellers:
Basiskenntnisse in VBA
Hallo,
einfach ist relativ.
Für einen Nicht-API-Freund, der lieber mit reinem VBA programmiert, hast Du Recht, es geht auch ganz einfach mit der jeweiligen Addition.
Nun kommt es drauf an, was man möchte.
Die beiden Varianten liefern nicht das gleiche Ergebnis.
a) liefert Pixel
b) liefert Excel-Pixel
Wenn man das Ergebnis an einer Stelle haben möchte.....
Bei b muss man ggf. etwas mehr Schreibarbeit leisten oder an die Sammel-Sub-das Objekt mit übergeben
Private Sub UserForm_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal x As Single, ByVal y As Single)
Call GetMausPos(x, y)
End Sub
Private Sub CommandButton1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal x As Single, ByVal y As Single)
Call GetMausPos(CommandButton1.Left + x, CommandButton1.Top + y)
End Sub
Private Sub ListBox1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal x As Single, ByVal y As Single)
Call GetMausPos(ListBox1.Left + x, ListBox1.Top + y)
End Sub
Private Sub GetMausPos(ByVal x As Single, ByVal y As Single)
GetCursorPos PT
ScreenToClient GetActiveWindow(), PT
Debug.Print PT.x, PT.y, x, y
End Sub
Gruß
KH