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.

Vues d'ensemble

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

Fonctions

Rubrique Contenu
DlgDirListComboBox Remplace le contenu d’une zone de liste déroulante par les noms des sous-répertoires et 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 modifiable 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 modifiable spécifiée.

Macros

Rubrique 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 le message CB_ADDSTRING explicitement.
ComboBox_AddString Ajoute une chaîne à une liste dans une zone de liste déroulante. 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 le message CB_ADDSTRING explicitement.
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 déroulante. 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 dans une liste de zone de liste déroulante qui contient 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 dans une liste de zones de liste déroulante qui commence 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 ne respecte pas la casse. Vous pouvez utiliser cette macro ou envoyer le message CB_FINDSTRINGEXACT explicitement.
ComboBox_GetCount Obtient le nombre d’éléments dans la zone de liste d’une zone de liste modifiable. Vous pouvez utiliser cette macro ou envoyer le message CB_GETCOUNT explicitement.
ComboBox_GetCueBannerText Obtient le texte de bannière d’indicateur affiché dans le contrôle d’édition d’une zone de liste déroulante. Utilisez cette macro ou envoyez le message CB_GETCUEBANNER explicitement.
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 le message CB_GETCURSEL explicitement.
ComboBox_GetDroppedControlRect Récupère les coordonnées d’écran d’une zone de liste déroulante dans son état supprimé. Vous pouvez utiliser cette macro ou envoyer le message CB_GETDROPPEDCONTROLRECT explicitement.
ComboBox_GetDroppedState Vérifie si la liste déroulante d’un contrôle de zone de liste déroulante est visible. Vous pouvez utiliser cette macro ou envoyer le message CB_GETDROPPEDSTATE explicitement.
ComboBox_GetExtendedUI Détermine si une zone de liste déroulante utilise l’interface utilisateur par défaut ou l’interface utilisateur étendue. Vous pouvez utiliser cette macro ou envoyer le message CB_GETEXTENDEDUI explicitement.
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 le message CB_GETITEMDATA explicitement.
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 le message CB_GETITEMHEIGHT explicitement.
ComboBox_GetLBText Obtient une chaîne d’une liste dans une zone de liste modifiable. Vous pouvez utiliser cette macro ou envoyer le message CB_GETLBTEXT explicitement.
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 le message CB_GETLBTEXTLEN explicitement.
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 le message CB_INSERTSTRING explicitement.
ComboBox_InsertString Ajoute une chaîne à une liste dans une zone de liste déroulante à l’emplacement spécifié. Vous pouvez utiliser cette macro ou envoyer le message CB_INSERTSTRING explicitement.
ComboBox_LimitText Limite la longueur du texte que l’utilisateur peut taper dans le contrôle d’édition d’une zone de liste déroulante. Vous pouvez utiliser cette macro ou envoyer le message CB_LIMITTEXT explicitement.
ComboBox_ResetContent Supprime tous les éléments de la zone de liste et le contrôle de modification d’une zone de liste modifiable. Vous pouvez utiliser cette macro ou envoyer le message CB_RESETCONTENT explicitement.
ComboBox_SelectItemData Recherche dans une liste dans une zone de liste modifiable 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 le message CB_SELECTSTRING explicitement.
ComboBox_SelectString Recherche dans une liste dans une zone de liste modifiable un élément qui commence 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 le message CB_SELECTSTRING explicitement.
ComboBox_SetCueBannerText Définit le texte de bannière de repère affiché pour le contrôle d’édition d’une zone de liste déroulante.
ComboBox_SetCurSel Définit l’élément actuellement sélectionné dans une zone de liste déroulante. Vous pouvez utiliser cette macro ou envoyer le message CB_SETCURSEL explicitement.
ComboBox_SetExtendedUI Sélectionne l’interface utilisateur par défaut ou l’interface utilisateur étendue pour une zone de liste déroulante qui a le style CBS_DROPDOWN ou CBS_DROPDOWNLIST . Vous pouvez utiliser cette macro ou envoyer le message CB_SETEXTENDEDUI explicitement.
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 le message CB_SETITEMDATA explicitement.
ComboBox_SetItemHeight Définit la hauteur des éléments de liste ou le champ de sélection dans une zone de liste déroulante. Vous pouvez utiliser cette macro ou envoyer le message CB_SETITEMHEIGHT explicitement.
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 déroulante. Vous pouvez utiliser cette macro ou envoyer le message CB_SHOWDROPDOWN explicitement.

Messages

Rubrique 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 ensemble d’attributs de fichier spécifiés. CB_DIR pouvez également ajouter des lettres de lecteur mappées à la liste.
CB_FINDSTRING Recherche dans la zone de liste d’une zone de liste modifiable 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 modifiable.
CB_GETCUEBANNER Obtient le texte de bannière de repère affiché dans le contrôle d’édition d’une zone de liste déroulante. 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 modifiable.
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 supprimé.
CB_GETDROPPEDSTATE Détermine si la zone de liste d’une zone de liste modifiable est supprimée.
CB_GETDROPPEDWIDTH Obtient la largeur minimale autorisée, en pixels, de la zone de liste d’une zone de liste modifiable avec le style CBS_DROPDOWN ou CBS_DROPDOWNLIST .
CB_GETEDITSEL Obtient les positions de caractères de début et de fin de la sélection actuelle dans le contrôle d’édition d’une zone de liste déroulante.
CB_GETEXTENDEDUI Détermine si une zone de liste déroulante 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 le champ de sélection dans une zone de liste modifiable.
CB_GETLBTEXT Obtient une chaîne à partir de 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 modifiable.
CB_GETLOCALE Obtient les paramètres régionaux actuels de la zone de liste déroulante. Les paramètres régionaux sont utilisés pour 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’une zone de liste modifiable. Ce message alloue de la mémoire pour le stockage des é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 modifiable. 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 déroulante.
CB_RESETCONTENT Supprime tous les éléments de la zone de liste et le contrôle de modification d’une zone de liste modifiable.
CB_SELECTSTRING Recherche dans la liste d’une zone de liste déroulante un élément qui commence 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 de signe qui s’affiche pour le contrôle d’édition d’une zone de liste déroulante.
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 dans l’affichage. Le texte du contrôle d’édition de la zone de liste modifiable est modifié 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 modifiable 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 déroulante.
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 déroulante 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 être défilé horizontalement (largeur de défilement). 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 de 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 déroulante 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 du 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 déroulante a le style CBS_SORT et que des 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 s’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 déroulante qui a le style CBS_DROPDOWN ou CBS_DROPDOWNLIST .

Notifications

Rubrique Contenu
CBN_CLOSEUP Le code de notification CBN_CLOSEUP est envoyé lorsque la zone de liste d’une zone de liste modifiable 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é après que l’utilisateur a effectué une action qui a peut-être modifié le texte dans la partie contrôle d’édition 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 a mis à 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 de contrôle d’édition d’une zone de liste déroulante est sur le point d’afficher du texte modifié. Ce code de notification est envoyé après 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 déroulante 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 d’ordre supérieur 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 déroulante ou d’une 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 déroulante 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 déroulante, d’une zone de liste ou d’un menu dessiné par le propriétaire lorsqu’un aspect visuel du bouton, de la zone de liste déroulante, 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 déroulante, d’une zone de liste, d’un contrôle d’affichage de liste ou d’un élément de menu lors de la création du contrôle ou du menu.

Structures

Rubrique Contenu
COMBOBOXINFO Contient des informations status zone de liste déroulante.
COMPAREITEMSTRUCT Fournit les identificateurs et les données fournies par l’application pour deux éléments dans une zone de liste ou une zone de liste déroulante triée et dessinée par le propriétaire.
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

Rubrique Contenu
Styles de zone de liste modifiable Pour créer une zone de liste modifiable à l’aide de la fonction CreateWindow ou CreateWindowEx , 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.