Funktionsreferenz

GUIGetCursorInfo

Erfragt die Position des Mauszeigers relativ zum GUI-Fenster.

GUIGetCursorInfo ( [winhandle] )

 

Parameter

winhandle [optional] Der Handle des Fensters, auf das sich die Funktion bezieht. Wenn nicht angegeben, wird das "aktuelle" Fenster genommen.

 

Rückgabewert

Erfolg: Gibt ein Array mit 5 Einträgen zurück, das die Cursor-Informationen enthält:
$array[0] = X-Koordinate (horizontal)
$array[1] = Y-Koordinate (vertikal)
$array[2] = Klick auf die erste Maustaste (üblicherweise links) (1 wenn Maustaste gedrückt, 0 wenn nicht gedrückt)
$array[3] = Klick auf die zweite Maustaste (üblicherweise rechts) (1 wenn Maustaste gedrückt, 0 wenn nicht gedrückt)
$array[4] = ID des Controls, über dem sich der Mauszeiger gerade befindet (0 wenn nicht über einem Item)
Fehler: Gibt 0 zurück und setzt @error auf 1

 

Bemerkungen

Die Koordinaten sind relativ zum GUI-Fenster angegeben (auch als "client"-Koordinaten bekannt).

Wenn der "winhandle" Parameter verwendet wird, wird das damit angegebene Fenster zum neuen "aktuellen" Fenster.

Das Abfragen der Mauskoordinaten ist nur erfolgreich wenn das Fenster mit GUICreate erstellt wurde. Falls kein winhandle angegeben wird, ist die Funktion erfolgreich, wenn das GUI Fenster aktiv ist.

Control-IDs von ListViewItem oder TreeViewItem Controls werden nie zurückgegeben. Stattdessen wird die ID des Hauptcontrol Listview oder TreeView zurückgegeben.

- - - - - - - - Erklärung der Controls - - - - - - - -

 

Verwandte Funktionen

GUICreate, GUIGetMsg

 

Beispiel


#include <GUIConstantsEx.au3>

Opt('MustDeclareVars', 1)

Global $x, $y

Example()

Func Example()
    Local $msg

    HotKeySet("{Esc}", "GetPos")

    GUICreate("Esc drücken um die Position zu erhalten", 400, 400)
    $x = GUICtrlCreateLabel("0", 10, 10, 50)
    $y = GUICtrlCreateLabel("0", 10, 30, 50)
    GUISetState()

    ; Die Schleife wiederholt sich, bis der Benutzer die Beenden-Aktion der GUI auslöst
    Do
        $msg = GUIGetMsg()
    Until $msg = $GUI_EVENT_CLOSE
EndFunc   ;==>Example

Func GetPos()
    Local $a

    $a = GUIGetCursorInfo()
    GUICtrlSetData($x, $a[0])
    GUICtrlSetData($y, $a[1])
EndFunc   ;==>GetPos