Partager via


Zone de liste modifiable (contrôles Windows)

Cette section contient des informations sur les éléments de programmation utilisés avec les zones de liste déroulante. Une zone de liste modifiable est un type unique de contrôle, défini par la classe COMBOBOX, qui combine une grande partie des fonctionnalités d’une zone de liste et d’un contrôle d’édition.

Aperçus

Sujet Contenu
à propos des zones de liste déroulante Cette section décrit les différents types de zones de liste modifiable.
Fonctionnalités de zone de liste déroulante Ce document décrit les fonctionnalités de la zone de liste modifiable.
à l’aide de zones de liste déroulante Les exemples de code de cette section montrent comment effectuer des tâches associées à des zones de liste modifiable.

Fonctions

Sujet Contenu
DlgDirListComboBox Remplace le contenu d’une zone de liste modifiable par les noms des sous-répertoires et des fichiers dans un répertoire spécifié. Vous pouvez filtrer la liste des noms en spécifiant un ensemble d’attributs de fichier. La liste des noms peut inclure des lettres de lecteur mappées.
DlgDirSelectComboBoxEx Récupère la sélection actuelle à partir d’une zone de liste déroulante remplie à l’aide de la fonction DlgDirListComboBox. La sélection est interprétée comme une lettre de lecteur, un fichier ou un nom de répertoire.
GetComboBoxInfo Récupère des informations sur la zone de liste déroulante spécifiée.

Macros

Sujet Contenu
ComboBox_AddItemData Ajoute des données d’élément à la liste dans une zone de liste déroulante à l’emplacement spécifié. Vous pouvez utiliser cette macro ou envoyer explicitement le message CB_ADDSTRING.
ComboBox_AddString Ajoute une chaîne à une liste dans une zone de liste modifiable. Si la zone de liste déroulante n’a pas le style CBS_SORT, la chaîne est ajoutée à la fin de la liste. Sinon, la chaîne est insérée dans la liste et la liste est triée. Vous pouvez utiliser cette macro ou envoyer explicitement le message CB_ADDSTRING.
ComboBox_DeleteString Supprime l’élément à l’emplacement spécifié dans une liste dans une zone de liste déroulante. Vous pouvez utiliser cette macro ou envoyer explicitement le message CB_DELETESTRING.
ComboBox_Dir Ajoute des noms à la liste affichée par une zone de liste modifiable. La macro ajoute les noms des répertoires et des fichiers qui correspondent à une chaîne et un ensemble d’attributs de fichier spécifiés. Il peut également ajouter des lettres de lecteur mappées à la liste dans une zone de liste déroulante. Vous pouvez utiliser cette macro ou envoyer explicitement le message CB_DIR.
ComboBox_Enable Active ou désactive un contrôle de zone de liste modifiable.
ComboBox_FindItemData Recherche le premier élément d’une liste de zones de liste déroulante contenant les données d’élément spécifiées. Vous pouvez utiliser cette macro ou envoyer explicitement le message CB_FINDSTRING.
ComboBox_FindString Recherche la première chaîne d’une liste de zones de liste modifiable commençant par la chaîne spécifiée. Vous pouvez utiliser cette macro ou envoyer explicitement le message CB_FINDSTRING.
ComboBox_FindStringExact Recherche la première chaîne dans une liste de zones de liste déroulante qui correspond exactement à la chaîne spécifiée, sauf que la recherche n’est pas sensible à la casse. Vous pouvez utiliser cette macro ou envoyer explicitement le message CB_FINDSTRINGEXACT.
ComboBox_GetCount Obtient le nombre d’éléments dans la zone de liste d’une zone de liste déroulante. Vous pouvez utiliser cette macro ou envoyer explicitement le message CB_GETCOUNT.
ComboBox_GetCueBannerText Obtient le texte de la bannière d’indicateur affiché dans le contrôle d’édition d’une zone de liste modifiable. Utilisez cette macro ou envoyez explicitement le message CB_GETCUEBANNER.
ComboBox_GetCurSel Obtient l’index de l’élément actuellement sélectionné dans une zone de liste déroulante. Vous pouvez utiliser cette macro ou envoyer explicitement le message CB_GETCURSEL.
ComboBox_GetDroppedControlRect Récupère les coordonnées d’écran d’une zone de liste déroulante dans son état déroulant. Vous pouvez utiliser cette macro ou envoyer explicitement le message CB_GETDROPPEDCONTROLRECT.
ComboBox_GetDroppedState Détermine si la liste déroulante d’un contrôle de zone de liste modifiable est visible. Vous pouvez utiliser cette macro ou envoyer explicitement le message CB_GETDROPPEDSTATE.
ComboBox_GetExtendedUI Détermine si une zone de liste modifiable utilise l’interface utilisateur par défaut ou l’interface utilisateur étendue. Vous pouvez utiliser cette macro ou envoyer explicitement le message CB_GETEXTENDEDUI.
ComboBox_GetItemData Obtient la valeur définie par l’application associée à l’élément de liste spécifié dans une zone de liste modifiable. Vous pouvez utiliser cette macro ou envoyer explicitement le message CB_GETITEMDATA.
ComboBox_GetItemHeight Récupère la hauteur des éléments de liste dans une zone de liste modifiable. Vous pouvez utiliser cette macro ou envoyer explicitement le message CB_GETITEMHEIGHT.
ComboBox_GetLBText Obtient une chaîne d’une liste dans une zone de liste modifiable. Vous pouvez utiliser cette macro ou envoyer explicitement le message CB_GETLBTEXT.
ComboBox_GetLBTextLen Obtient la longueur d’une chaîne dans la liste dans une zone de liste déroulante. Vous pouvez utiliser cette macro ou envoyer explicitement le message CB_GETLBTEXTLEN.
ComboBox_GetMinVisible Obtient le nombre minimal d’éléments visibles dans la liste déroulante d’une zone de liste déroulante.
ComboBox_GetText Récupère le texte d’un contrôle de zone de liste modifiable.
ComboBox_GetTextLength Obtient le nombre de caractères dans le texte d’une zone de liste déroulante.
ComboBox_InsertItemData Insère des données d’élément dans une liste dans une zone de liste déroulante à l’emplacement spécifié. Vous pouvez utiliser cette macro ou envoyer explicitement le message CB_INSERTSTRING.
ComboBox_InsertString Ajoute une chaîne à une liste dans une zone de liste modifiable à l’emplacement spécifié. Vous pouvez utiliser cette macro ou envoyer explicitement le message CB_INSERTSTRING.
ComboBox_LimitText Limite la longueur du texte que l’utilisateur peut taper dans le contrôle d’édition d’une zone de liste modifiable. Vous pouvez utiliser cette macro ou envoyer explicitement le message CB_LIMITTEXT.
ComboBox_ResetContent Supprime tous les éléments de la zone de liste et modifie le contrôle d’une zone de liste modifiable. Vous pouvez utiliser cette macro ou envoyer explicitement le message CB_RESETCONTENT.
ComboBox_SelectItemData Recherche une liste dans une zone de liste déroulante pour un élément qui contient les données d’élément spécifiées. Si un élément correspondant est trouvé, l’élément est sélectionné. Vous pouvez utiliser cette macro ou envoyer explicitement le message CB_SELECTSTRING.
ComboBox_SelectString Recherche une liste dans une zone de liste modifiable pour un élément commençant par les caractères d’une chaîne spécifiée. Si un élément correspondant est trouvé, l’élément est sélectionné. Vous pouvez utiliser cette macro ou envoyer explicitement le message CB_SELECTSTRING.
ComboBox_SetCueBannerText Définit le texte de bannière d’indicateur affiché pour le contrôle d’édition d’une zone de liste modifiable.
ComboBox_SetCurSel Définit l’élément actuellement sélectionné dans une zone de liste modifiable. Vous pouvez utiliser cette macro ou envoyer explicitement le message CB_SETCURSEL.
ComboBox_SetExtendedUI Sélectionne l’interface utilisateur par défaut ou l’interface utilisateur étendue d’une zone de liste déroulante avec le style CBS_DROPDOWN ou CBS_DROPDOWNLIST. Vous pouvez utiliser cette macro ou envoyer explicitement le message CB_SETEXTENDEDUI.
ComboBox_SetItemData Définit la valeur définie par l’application associée à l’élément de liste spécifié dans une zone de liste modifiable. Vous pouvez utiliser cette macro ou envoyer explicitement le message CB_SETITEMDATA.
ComboBox_SetItemHeight Définit la hauteur des éléments de liste ou du champ de sélection dans une zone de liste déroulante. Vous pouvez utiliser cette macro ou envoyer explicitement le message CB_SETITEMHEIGHT.
ComboBox_SetMinVisible Définit le nombre minimal d’éléments visibles dans la liste déroulante d’une zone de liste déroulante.
ComboBox_SetText Définit le texte d’une zone de liste modifiable.
ComboBox_ShowDropdown Affiche ou masque la liste dans une zone de liste modifiable. Vous pouvez utiliser cette macro ou envoyer explicitement le message CB_SHOWDROPDOWN.

Messages

Sujet Contenu
CB_ADDSTRING Ajoute une chaîne à la zone de liste d’une zone de liste modifiable. Si la zone de liste déroulante n’a pas le style CBS_SORT, la chaîne est ajoutée à la fin de la liste. Sinon, la chaîne est insérée dans la liste et la liste est triée.
CB_DELETESTRING Supprime une chaîne dans la zone de liste d’une zone de liste modifiable.
CB_DIR Ajoute des noms à la liste affichée par la zone de liste déroulante. Le message ajoute les noms des répertoires et des fichiers qui correspondent à une chaîne et un jeu d’attributs de fichier spécifiés. CB_DIR pouvez également ajouter des lettres de lecteur mappées à la liste.
CB_FINDSTRING Recherche la zone de liste d’une zone de liste modifiable pour un élément commençant par les caractères d’une chaîne spécifiée.
CB_FINDSTRINGEXACT Recherche la première chaîne de zone de liste dans une zone de liste modifiable qui correspond à la chaîne spécifiée dans le paramètre lParam.
CB_GETCOMBOBOXINFO Obtient des informations sur la zone de liste déroulante spécifiée.
CB_GETCOUNT Obtient le nombre d’éléments dans la zone de liste d’une zone de liste déroulante.
CB_GETCUEBANNER Obtient le texte de la bannière d’indicateur affiché dans le contrôle d’édition d’une zone de liste modifiable. Envoyez ce message explicitement ou à l’aide de la macro ComboBox_GetCueBannerText.
CB_GETCURSEL Une application envoie un message CB_GETCURSEL pour récupérer l’index de l’élément actuellement sélectionné, le cas échéant, dans la zone de liste d’une zone de liste déroulante.
CB_GETDROPPEDCONTROLRECT Une application envoie un message CB_GETDROPPEDCONTROLRECT pour récupérer les coordonnées d’écran d’une zone de liste déroulante dans son état déroulant.
CB_GETDROPPEDSTATE Détermine si la zone de liste d’une zone de liste déroulante est supprimée.
CB_GETDROPPEDWIDTH Obtient la largeur minimale autorisée, en pixels, de la zone de liste d’une zone de liste déroulante avec le style CBS_DROPDOWN ou CBS_DROPDOWNLIST.
CB_GETEDITSEL Obtient les positions des caractères de début et de fin de la sélection actuelle dans le contrôle d’édition d’une zone de liste modifiable.
CB_GETEXTENDEDUI Détermine si une zone de liste modifiable a l’interface utilisateur par défaut ou l’interface utilisateur étendue.
CB_GETHORIZONTALEXTENT Obtient la largeur, en pixels, que la zone de liste peut faire défiler horizontalement (largeur de défilement). Cela s’applique uniquement si la zone de liste a une barre de défilement horizontale.
CB_GETITEMDATA Une application envoie un message CB_GETITEMDATA à une zone de liste déroulante pour récupérer la valeur fournie par l’application associée à l’élément spécifié dans la zone de liste déroulante.
CB_GETITEMHEIGHT Détermine la hauteur des éléments de liste ou du champ de sélection dans une zone de liste déroulante.
CB_GETLBTEXT Obtient une chaîne dans la liste d’une zone de liste modifiable.
CB_GETLBTEXTLEN Obtient la longueur, en caractères, d’une chaîne dans la liste d’une zone de liste déroulante.
CB_GETLOCALE Obtient les paramètres régionaux actuels de la zone de liste déroulante. Les paramètres régionaux permettent de déterminer l’ordre de tri correct du texte affiché pour les zones de liste déroulante avec le style CBS_SORT et le texte ajoutés à l’aide du message CB_ADDSTRING.
CB_GETMINVISIBLE Obtient le nombre minimal d’éléments visibles dans la liste déroulante d’une zone de liste déroulante.
CB_GETTOPINDEX Une application envoie le message CB_GETTOPINDEX pour récupérer l’index de base zéro du premier élément visible dans la partie zone de liste d’une zone de liste modifiable. Initialement, l’élément avec l’index 0 se trouve en haut de la zone de liste, mais si le contenu de la zone de liste a été fait défiler, un autre élément peut se trouver en haut.
CB_INITSTORAGE Une application envoie le message CB_INITSTORAGE avant d’ajouter un grand nombre d’éléments à la partie zone de liste déroulante d’une zone de liste modifiable. Ce message alloue de la mémoire pour stocker les éléments de zone de liste.
CB_INSERTSTRING Insère une chaîne ou des données d’élément dans la liste d’une zone de liste déroulante. Contrairement au message CB_ADDSTRING, le message CB_INSERTSTRING n’entraîne pas le tri d’une liste avec le style CBS_SORT.
CB_LIMITTEXT Limite la longueur du texte que l’utilisateur peut taper dans le contrôle d’édition d’une zone de liste modifiable.
CB_RESETCONTENT Supprime tous les éléments de la zone de liste et modifie le contrôle d’une zone de liste modifiable.
CB_SELECTSTRING Recherche dans la liste d’une zone de liste modifiable un élément commençant par les caractères d’une chaîne spécifiée. Si un élément correspondant est trouvé, il est sélectionné et copié dans le contrôle d’édition.
CB_SETCUEBANNER Définit le texte de bannière d’indicateur affiché pour le contrôle d’édition d’une zone de liste modifiable.
CB_SETCURSEL Une application envoie un message CB_SETCURSEL pour sélectionner une chaîne dans la liste d’une zone de liste déroulante. Si nécessaire, la liste fait défiler la chaîne en mode affichage. Le texte du contrôle d’édition de la zone de liste modifiable change pour refléter la nouvelle sélection, et toute sélection précédente dans la liste est supprimée.
CB_SETDROPPEDWIDTH Une application envoie le message CB_SETDROPPEDWIDTH pour définir la largeur maximale autorisée, en pixels, de la zone de liste d’une zone de liste déroulante avec le style CBS_DROPDOWN ou CBS_DROPDOWNLIST.
CB_SETEDITSEL Une application envoie un message CB_SETEDITSEL pour sélectionner des caractères dans le contrôle d’édition d’une zone de liste modifiable.
CB_SETEXTENDEDUI Une application envoie un message CB_SETEXTENDEDUI pour sélectionner l’interface utilisateur par défaut ou l’interface utilisateur étendue d’une zone de liste modifiable qui a le style CBS_DROPDOWN ou CBS_DROPDOWNLIST.
CB_SETHORIZONTALEXTENT Une application envoie le message CB_SETHORIZONTALEXTENT pour définir la largeur, en pixels, par laquelle une zone de liste peut faire défiler horizontalement (largeur défilable). Si la largeur de la zone de liste est inférieure à cette valeur, la barre de défilement horizontale fait défiler horizontalement les éléments dans la zone de liste. Si la largeur de la zone de liste est égale ou supérieure à cette valeur, la barre de défilement horizontale est masquée ou, si la zone de liste modifiable a le style CBS_DISABLENOSCROLL, désactivée.
CB_SETITEMDATA Une application envoie un message CB_SETITEMDATA pour définir la valeur associée à l’élément spécifié dans une zone de liste déroulante.
CB_SETITEMHEIGHT Une application envoie un message CB_SETITEMHEIGHT pour définir la hauteur des éléments de liste ou le champ de sélection dans une zone de liste déroulante.
CB_SETLOCALE Une application envoie un message CB_SETLOCALE pour définir les paramètres régionaux actuels de la zone de liste déroulante. Si la zone de liste modifiable comporte le style CBS_SORT et les chaînes sont ajoutées à l’aide de CB_ADDSTRING, les paramètres régionaux d’une zone de liste modifiable affectent la façon dont les éléments de liste sont triés.
CB_SETMINVISIBLE Une application envoie un message CB_SETMINVISIBLE pour définir le nombre minimal d’éléments visibles dans la liste déroulante d’une zone de liste déroulante.
CB_SETTOPINDEX Une application envoie le message CB_SETTOPINDEX pour vous assurer qu’un élément particulier est visible dans la zone de liste d’une zone de liste déroulante. Le système fait défiler le contenu de la zone de liste afin que l’élément spécifié apparaisse en haut de la zone de liste ou que la plage de défilement maximale ait été atteinte.
CB_SHOWDROPDOWN Une application envoie un message CB_SHOWDROPDOWN pour afficher ou masquer la zone de liste d’une zone de liste modifiable qui a le style CBS_DROPDOWN ou CBS_DROPDOWNLIST.

Notifications

Sujet Contenu
CBN_CLOSEUP Le code de notification CBN_CLOSEUP est envoyé lorsque la zone de liste d’une zone de liste déroulante a été fermée. La fenêtre parente de la zone de liste déroulante reçoit ce code de notification via le message WM_COMMAND.
CBN_DBLCLK Le code de notification CBN_DBLCLK est envoyé lorsque l’utilisateur double-clique sur une chaîne dans la zone de liste d’une zone de liste déroulante. La fenêtre parente de la zone de liste déroulante reçoit ce code de notification via le message WM_COMMAND.
CBN_DROPDOWN Le code de notification CBN_DROPDOWN est envoyé lorsque la zone de liste d’une zone de liste modifiable est sur le point d’être rendue visible. La fenêtre parente de la zone de liste déroulante reçoit ce code de notification via le message WM_COMMAND.
CBN_EDITCHANGE Le code de notification CBN_EDITCHANGE est envoyé une fois que l’utilisateur a effectué une action susceptible d’avoir modifié le texte dans la partie Modifier le contrôle d’une zone de liste déroulante. Contrairement au code de notification CBN_EDITUPDATE, ce code de notification est envoyé après que le système met à jour l’écran. La fenêtre parente de la zone de liste déroulante reçoit ce code de notification via le message WM_COMMAND.
CBN_EDITUPDATE Le code de notification CBN_EDITUPDATE est envoyé lorsque la partie modifier le contrôle d’une zone de liste modifiable est sur le point d’afficher du texte modifié. Ce code de notification est envoyé une fois que le contrôle a mis en forme le texte, mais avant d’afficher le texte. La fenêtre parente de la zone de liste déroulante reçoit ce code de notification via le message WM_COMMAND.
CBN_ERRSPACE Le code de notification CBN_ERRSPACE est envoyé lorsqu’une zone de liste modifiable ne peut pas allouer suffisamment de mémoire pour répondre à une demande spécifique. La fenêtre parente de la zone de liste déroulante reçoit ce code de notification via le message WM_COMMAND.
CBN_KILLFOCUS Le code de notification CBN_KILLFOCUS est envoyé lorsqu’une zone de liste modifiable perd le focus clavier. La fenêtre parente de la zone de liste déroulante reçoit ce code de notification via le message WM_COMMAND.
CBN_SELCHANGE Le code de notification CBN_SELCHANGE est envoyé lorsque l’utilisateur modifie la sélection actuelle dans la zone de liste d’une zone de liste déroulante. L’utilisateur peut modifier la sélection en cliquant dans la zone de liste ou en utilisant les touches de direction. La fenêtre parente de la zone de liste déroulante reçoit cette notification sous la forme d’un message WM_COMMAND avec CBN_SELCHANGE dans le mot de classement élevé du paramètre wParam.
CBN_SELENDCANCEL Le code de notification CBN_SELENDCANCEL est envoyé lorsque l’utilisateur sélectionne un élément, puis sélectionne un autre contrôle ou ferme la boîte de dialogue. Elle indique que la sélection initiale de l’utilisateur doit être ignorée. La fenêtre parente de la zone de liste déroulante reçoit ce code de notification via le message WM_COMMAND.
CBN_SELENDOK Le code de notification CBN_SELENDOK est envoyé lorsque l’utilisateur sélectionne un élément de liste, ou sélectionne un élément, puis ferme la liste. Elle indique que la sélection de l’utilisateur doit être traitée. La fenêtre parente de la zone de liste déroulante reçoit ce code de notification via le message WM_COMMAND.
CBN_SETFOCUS Le code de notification CBN_SETFOCUS est envoyé lorsqu’une zone de liste modifiable reçoit le focus clavier. La fenêtre parente de la zone de liste déroulante reçoit ce code de notification via le message WM_COMMAND.
WM_COMPAREITEM Le système envoie le message WM_COMPAREITEM pour déterminer la position relative d’un nouvel élément dans la liste triée d’une zone de liste modifiable ou zone de liste dessinée par le propriétaire. Chaque fois que l’application ajoute un nouvel élément, le système envoie ce message au propriétaire d’une zone de liste modifiable ou d’une zone de liste créée avec le style CBS_SORT ou LBS_SORT.
WM_DRAWITEM Le message WM_DRAWITEM est envoyé à la fenêtre parente d’un bouton, d’une zone de liste modifiable, d’une zone de liste déroulante ou d’un menu lorsqu’un aspect visuel du bouton, de la zone de liste modifiable, de la zone de liste ou du menu a changé.
WM_MEASUREITEM Le message WM_MEASUREITEM est envoyé à la fenêtre propriétaire d’une zone de liste modifiable, d’une zone de liste, d’un contrôle d’affichage de liste ou d’un élément de menu lorsque le contrôle ou le menu est créé.

Structures

Sujet Contenu
COMBOBOXINFO Contient les informations d’état de la zone de liste modifiable.
COMPAREITEMSTRUCT Fournit les identificateurs et les données fournies par l’application pour deux éléments dans une zone de liste triée, dessinée par le propriétaire ou une zone de liste modifiable.
DRAWITEMSTRUCT Fournit les informations nécessaires à la fenêtre propriétaire pour déterminer comment peindre un contrôle ou un élément de menu dessiné par le propriétaire. La fenêtre propriétaire du contrôle ou de l’élément de menu dessiné par le propriétaire reçoit un pointeur vers cette structure en tant que paramètre lParam du message WM_DRAWITEM.
MEASUREITEMSTRUCT Informe le système des dimensions d’un contrôle ou d’un élément de menu dessiné par le propriétaire. Cela permet au système de traiter correctement l’interaction de l’utilisateur avec le contrôle.

Constantes

Sujet Contenu
styles de zone de liste déroulante Pour créer une zone de liste modifiable à l’aide de l'CreateWindow ou CreateWindowEx fonction, spécifiez la classe COMBOBOX, les constantes de style de fenêtre appropriées et une combinaison des styles de zone de liste modifiable suivants.