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. |