Functions > GUI >


GUIGetCursorInfo

Obtient la position du curseur de la souris par rapport à la fenêtre GUI.

GUIGetCursorInfo ( [winhandle] )

Paramètre

winhandle [optionnel] Le handle de la fenêtre à utiliser. En cas d'omission, la fenêtre 'courante' sera utilisée.

Valeur de retour

Succès: Retourne un tableau de cinq éléments qui contient des informations sur le curseur de la souris :
    $aArray[0] = coord X (horizontal)
    $aArray[1] = coord Y (vertical)
    $aArray[2] = bouton gauche pressé (1=pressé, 0=non pressé)
    $aArray[3] = bouton droit pressé (1=pressé, 0=non pressé)
    $aArray[4] = ID du contrôle que le curseur de la souris survole (ou 0 si aucun)
Échec: Définit @error <> 0.

Remarques

Les coordonnées données sont relatives à la fenêtre GUI (connu sous le nom de coordonnées clientes).

Si le paramètre 'winhandle' est utilisé, alors la fenêtre spécifiée devient la nouvelle fenêtre 'courante'.

La position du curseur de la souris n'est couronnée de succès que sur une fenêtre créée par un GUICreate(). Quand il n'y a pas de handle de fenêtre, ce sera un succès seulement si la fenêtre GUI est active.

Le controlID d'un ListViewItem ou d'un TreeViewItem ne sera jamais retourné, seul le controlID du parent ListView ou TreeView le sera.

En relation

GUICreate, GUIGetMsg

Exemple

#include <GUIConstantsEx.au3>

Global $g_idX = 0, $g_idY = 0

Example()

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

    GUICreate("Pressez Esc pour obtenir la position", 400, 400)
    $g_idX = GUICtrlCreateLabel("0", 10, 10, 50)
    $g_idY = GUICtrlCreateLabel("0", 10, 30, 50)
    GUISetState(@SW_SHOW)

    ; Boucle jusqu'à ce que l'utilisateur quitte.
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE

    GUIDelete()
EndFunc   ;==>Example

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