Gibt die Koordinaten der aktuellen Cursorposition des Fensters im Vordergrund zurück.
WinGetCaretPos ( )
Parameter
Keine.
Rückgabewert
| Erfolg: | Gibt ein Array mit zwei Elementen und folgenden Informationen zurück: |
| $array[0] = X Koordinate | |
| $array[1] = Y Koordinate | |
| Fehler: | Setzt @error auf 1. |
Bemerkungen
WinGetCaretPos gibt bei "Multiple Document Interface (MDI)"-Programmen eventuell nicht die genauen Werte zurück, falls als Option "absolute CaretCoordMode" (siehe unten) genutzt wurde. Im Beispiel wird eine Annäherung (workaround) dargestellt. Hinweis: Manche Programme liefern - ungeachtet der aktuellen Cursorposition - statische Koordinaten!
Verwandte Funktionen
CaretCoordMode (Option)
Beispiel
$a = WinGetCaretPos()
If Not @error Then ToolTip("Erste Methode: Position", $a[0], $a[1])
sleep(2000)
$b = _CaretPos()
If Not @error Then ToolTip("Zweite Methode: Position", $b[0], $b[1])
sleep(2000)
;Eine zuverlässigere Methode, um die Koordinaten in MDI Texteditoren herauszufinden ("Multiple Document Interface")
Func _CaretPos()
Local $x_adjust = 5
Local $y_adjust = 40
Opt("CaretCoordMode", 0) ; Relativer Modus
Local $c = WinGetCaretPos() ; Relative Cursor Koordinaten
Local $w = WinGetPos("") ; Fenster Koordinaten
Local $f = ControlGetFocus("","") ; Textregion "handle"
Local $e = ControlGetPos("", "", $f) ; Textregion Koordinaten
Local $t[2]
If IsArray($c) and IsArray($w) and IsArray($e) Then
$t[0] = $c[0] + $w[0] + $e[0] + $x_adjust
$t[1] = $c[1] + $w[1] + $e[1] + $y_adjust
Return $t ; Absolute Bildschirm Koordinaten des Cursors
Else
SetError(1)
EndIf
EndFunc