Functions > Window > Controls >


ControlGetPos

Obtient la position et la taille d'un contrôle, par rapport à sa fenêtre.

ControlGetPos ( "title", "text", controlID )

Paramètres

title Le titre/hWnd/class de la fenêtre à atteindre. Consultez Définition spéciale de titre.
text Le texte de la fenêtre à atteindre. Consultez Définition spéciale de texte.
controlID Le contrôle avec lequel interagir. Consultez Controls.

Valeur de retour

Succès: Retourne un tableau contenant la taille et la position du contrôle relative à la zone cliente de la fenêtre:
$array[0] = Coordonnée X du coin supérieur gauche
$array[1] = Coordonnée X du coin supérieur gauche
$array[2] = Largeur
$array[3] = Hauteur
Échec: Retourne @error = 1.

Remarque

Le titre et le texte font référence à la fenêtre parente, donc faites attention avec "", qui référence la fenêtre active qui n'est peut-être pas celle qui contient le controlID du contrôle.

En relation

ControlCommand, ControlMove

Exemple

#include <MsgBoxConstants.au3>

Example()

Func Example()
    ; Exécute le Bloc-notes
    Run("notepad.exe")

    ; Attend 10 secondes pour que la fenêtre du bloc-notes apparaisse.
    Local $hWnd = WinWait("[CLASS:Notepad]", "", 10)

    ; Obtient la position x, y et la taille (largeur et hauteur) du contrôle d'édition du Bloc-notes. Le handle retourné par WinWait est utilisé pour le paramètre "titre"  de ControlGetPos.
    Local $aPos = ControlGetPos($hWnd, "", "Edit1")

    ; Affiche la position et la taille du contrôle d'édition
    MsgBox($MB_SYSTEMMODAL, "", "Position: " & $aPos[0] & ", " & $aPos[1] & @CRLF & "Size: " & $aPos[2] & ", " & $aPos[3])

    ; Ferme la fenêtre du Bloc-notes en utilisant le handle retourné par WinWait.
    WinClose($hWnd)
EndFunc   ;==>Example