Funktionreferenz


GUIGetCursorInfo

Beschreibung anzeigen in

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: Ein Array mit 5 Einträgen, das die Cursor-Informationen enthält:
    $aArray[0] = X-Koordinate (horizontal)
    $aArray[1] = Y-Koordinate (vertikal)
    $aArray[2] = Klick auf die erste Maustaste (üblicherweise links) (1 wenn Maustaste gedrückt, 0 wenn nicht gedrückt)
    $aArray[3] = Klick auf die zweite Maustaste (üblicherweise rechts) (1 wenn Maustaste gedrückt, 0 wenn nicht gedrückt)
    $aArray[4] = ID des Controls, über dem sich der Mauszeiger gerade befindet (0 wenn nicht über einem Item)
Fehler: Setzt das @error Flag auf ungleich null.

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>

Global $g_idX = 0, $g_idY = 0

Example()

Func Example()
    HotKeySet("{ESC}", "GetPos")

    GUICreate("Esc drücken um die Position zu erhalten", 400, 400)
    $g_idX = GUICtrlCreateLabel("0", 10, 10, 50)
    $g_idY = GUICtrlCreateLabel("0", 10, 30, 50)
    GUISetState(@SW_SHOW)

    ; Die Schleife wiederholt sich, bis der Benutzer die Beenden-Aktion der GUI auslöst.
    While 1
        Switch GUIGetMsg()
            Case $GUI_EVENT_CLOSE
                ExitLoop

        EndSwitch
    WEnd

    GUIDelete()
EndFunc   ;==>Example

Func GetPos()
    Local $a = GUIGetCursorInfo()
    GUICtrlSetData($g_idX, $a[0])
    GUICtrlSetData($g_idY, $a[1])
EndFunc   ;==>GetPos