Functions > Window > Controls >


ControlCommand

Envoie une commande à un contrôle.

ControlCommand ( "title", "text", controlID, "command" [, "option"] )

Paramètres

title Le titre/handle/class de la fenêtre à atteindre. Consultez Titre Special Definition.
text Le texte de la fenêtre à atteindre. Consultez Text special définition.
controlID Le contrôle avec lequel interagir. Consultez Controls.
command La commande à envoyer au contrôle.
option [optionnel] Paramètres additionnels requis par certaines commandes.

Valeur de retour

La valeur retournée dépend de la commande comme le montre le tableau ci-dessous. En cas d'erreur (telle qu'une commande ou fenêtre/contrôle invalide) @error=1.
Commande, Option Valeur de retour
"IsVisible", "" Retourne 1 si le contrôle est visible, sinon 0
"IsEnabled", "" Retourne 1 si le contrôle est actif, sinon 0
"ShowDropDown", "" Déplie un contrôle type ComboBox
"HideDropDown", "" Replie un contrôle type ComboBox
"AddString", 'string' Ajoute la chaîne 'string' à la fin d'un contrôle type ListBox ou ComboBox
"DelString", occurrence Efface une chaîne suivant son occurrence dans un contrôle type ListBox ou ComboBox
"FindString", 'string' Retourne la position de la chaine 'string' d'un contrôle type ListBox ou ComboBox
"SetCurrentSelection", occurrence Sélectionne une chaine en fonction de sont occurrence dans un contrôle type ListBox ou ComboBox
"SelectString", 'string' Sélectionne la chaine 'string' dans un contrôle type ListBox ou ComboBox
"IsChecked", "" Retourne 1 si le contrôle est coché, sinon 0
"Check", "" Coche le contrôle type CheckBox ou RadioBox
"UnCheck", "" Décoche le contrôle type CheckBox ou RadioBox
"GetCurrentLine", "" Retourne le numéro de la ligne positionnée sous le curseur, dans un contrôle type Edit
"GetCurrentCol", "" Retourne le numéro de la colonne positionnée sous le curseur, dans un contrôle type Edit
"GetCurrentSelection", "" Retourne le nom de l'élément sélectionné dans un contrôle type ListBox ou ComboBox
"GetLineCount", "" Retourne le nombre de lignes dans un contrôle type Edit
"GetLine", line# Retourne le texte d'une ligne d'un contrôle de type Edit
"GetSelected", "" Retourne le texte sélectionné d'un contrôle de type Edit
"EditPaste", 'string' Ajoute la chaine 'string' à la position du curseur dans un contrôle de type Edit
"CurrentTab", "" Retourne l'onglet sélectionné dans un contrôle type SysTabControl32
"TabRight", "" Passe à l'onglet suivant vers la droite dans un contrôle type SysTabControl32
"TabLeft", "" Passe à l'onglet suivant vers la gauche dans un contrôle type SysTabControl32
"SendCommandID", Command ID Simule l'envoi du message WM_COMMAND. Habituellement utilisé pour les contrôles type ToolbarWindow32 - Utilisez l'onglet 'ToolBar' de Au3Info pour avoir l'ID d'une commande.

Remarques

Certains contrôles peuvent résister à l'automation tant qu'ils ne sont pas dans la fenêtre active. Utilisez la fonction WinActivate() pour mettre la fenêtre des contrôles au premier plan avant d'utiliser ControlCommand().

Certaines commandes fonctionnant pour un contrôle type ComboBox ou ListBox, peuvent ne pas fonctionner pour des contrôles type "ComboLBox".

En relation

ControlClick, ControlDisable, ControlEnable, ControlFocus, ControlGetFocus, ControlGetPos, ControlGetText, ControlHide, ControlListView, ControlMove, ControlSend, ControlSetText, ControlShow, ControlTreeView, StatusbarGetText, WinActivate, WinGetClassList, WinMenuSelectItem

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)

    ; Envoie une commande au contrôle d'édition de Bloc-notes pour trouver le nombre de lignes. Le handle renvoyé par WinWait est utilisé pour le paramètre "titre" de ControlCommand.
    Local $iCount = ControlCommand($hWnd, "", "Edit1", "GetLineCount", "")

    ; Affiche le nombre de lignes.
    MsgBox($MB_SYSTEMMODAL, "", "Le nombre de lignes dans Notepad est: " & $iCount)

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