Functions > GUI > GUICtrlCreate >


GUICtrlCreateCombo

Crée un contrôle -ComboBox- présentant une liste déroulante de choix.

GUICtrlCreateCombo ( "text", left, top [, width [, height [, style = -1 [, exStyle = -1]]]] )

Paramètres

text Le texte qui apparaîtra dans le contrôle ComboBox.
left Coordonnée X du coin supérieur gauche du contrôle. Si -1 est utilisé alors X sera déterminée en accord avec GUICoordMode.
top Coordonnée Y du coin supérieur gauche du contrôle. Si -1 est utilisé alors Y sera déterminée en accord avec GUICoordMode.
width [optionnel] Largeur du contrôle (La valeur par défaut est la largeur précédemment utilisée).
height [optionnel] Hauteur du contrôle (La valeur par défaut est la hauteur précédemment utilisée).
style [optionnel] Définit le style du contrôle. Consultez GUI Control Styles Appendix.
    Par défaut (-1) : $CBS_DROPDOWN, $CBS_AUTOHSCROLL, $WS_VSCROLL
    Style forçé : $WS_TABSTOP
exStyle [optional] Définit les styles étendus du contrôle. Consultez Table des Styles Étendus.
    Par défaut (-1) : $WS_EX_CLIENTEDGE

Valeur de retour

Succès: Retourne l'identifiant (controlID) du nouveau contrôle.
Échec: Retourne 0.

Remarques

Le contrôle ComboBox est utilisé pour afficher des données dans une zone de liste déroulante. Par défaut, le contrôle ComboBox apparaît en deux parties: la partie supérieure est une zone de texte qui permet à l'utilisateur de taper un élément de liste. La deuxième partie est une liste d'éléments à partir de laquelle l'utilisateur peut en sélectionner un.

Pour obtenir la valeur du contrôle, consultez GUICtrlRead().
Pour attribuer ou changer les informations du contrôle, consultez GUICtrlUpdate...().

Sous Windows XP/2003, Windows ajustera la taille du combo ouvert. Sous les autres versions de Windows, vous pouvez déterminer cette taille avec le paramètre "height" si la valeur par défaut n'est pas ASSEZ GRANDE pour contenir au moins une ligne.

Pour combiner les styles avec le style par défaut, utilisez BitOR($GUI_SS_DEFAULT_COMBO, newstyle,...).
Pour utiliser les valeurs spécifiées ci-dessus, vous devez ajouter #include ComboConstants.au3> dans votre script.

Le redimensionnement par défaut est $GUI_DOCKHEIGHT.

En relation

GUICoordMode (Option), GUICtrlSetData, GUICtrlUpdate..., GUIGetMsg

Exemple

#include <GUIConstantsEx.au3>
#include <MsgBoxConstants.au3>

Example()

Func Example()
    ; Crée une GUI avec différents contrôles.
    Local $hGUI = GUICreate("Example", 300, 200)

    ; Crée un contrôle ComboBox.
    Local $idComboBox = GUICtrlCreateCombo("Item 1", 10, 10, 185, 20)
    Local $idClose = GUICtrlCreateButton("Close", 210, 170, 85, 25)

    ; Ajoute des éléments supplémentaires à la ComboBox.
    GUICtrlSetData($idComboBox, "Item 2|Item 3", "Item 2")

    ; Affiche la GUI.
    GUISetState(@SW_SHOW, $hGUI)

    Local $sComboRead = ""

    ; Boucle jusqu'à ce que l'utilisateur quitte.
    Local $idMsg = GUIGetMsg() 
    While ($idMsg <> $GUI_EVENT_CLOSE) And ($idMsg <> $idClose)
        If $idMsg = $idComboBox Then
            $sComboRead = GUICtrlRead($idComboBox)
            MsgBox($MB_SYSTEMMODAL, "", "La combobox s'affiche: " & $sComboRead, 0, $hGUI)
        EndIf
        $idMsg = GUIGetMsg() 
    WEnd

    ; Supprime la GUI et tous ses contrôles.
    GUIDelete($hGUI)
EndFunc   ;==>Example