Partager via


CListBox, classe

Fournit les fonctionnalités d'une zone de liste windows.

class CListBox : public CWnd

Membres

Constructeurs publics

Nom

Description

CListBox::CListBox

Construit un objet CListBox.

Méthodes publiques

Nom

Description

CListBox::AddString

Ajoute une chaîne à une zone de liste.

CListBox::CharToItem

Substitution pour fournir WM_CHAR personnalisé gestion pour les zones de liste owner-draw qui n'ont pas de chaînes.

CListBox::CompareItem

Appelé par l'infrastructure pour déterminer la position d'un nouvel élément dans une zone de liste triée owner-draw.

CListBox::Create

Crée la zone de liste windows et l'attache à l'objet d' CListBox .

CListBox::DeleteItem

Appelé par l'infrastructure lorsque l'utilisateur supprime un élément d'une zone de liste owner-draw.

CListBox::DeleteString

Supprime une chaîne d'une zone de liste.

CListBox::Dir

Ajoute des noms de fichiers, les lecteurs, ou les deux à partir de le répertoire actif à une zone de liste.

CListBox::DrawItem

Appelé par l'infrastructure lorsqu'un aspect visuel d'une zone de liste owner-draw change.

CListBox::FindString

Recherche une chaîne dans une zone de liste.

CListBox::FindStringExact

Recherche la première chaîne de zone de liste qui correspond à une chaîne spécifiée.

CListBox::GetAnchorIndex

Extrait l'index de base zéro de l'élément actuel d'ancrage dans une zone de liste.

CListBox::GetCaretIndex

Détermine l'index de l'élément qui a le rectangle de focus dans une zone de liste à sélection multiple.

CListBox::GetCount

Retourne le nombre de chaînes dans une zone de liste.

CListBox::GetCurSel

Retourne l'index de base zéro de la chaîne sélectionnée dans une zone de liste.

CListBox::GetHorizontalExtent

Retourne la largeur en pixels qu'une zone de liste peut être horizontale vous faites.

CListBox::GetItemData

Retourne la valeur 32 bits associé à l'élément de zone de liste.

CListBox::GetItemDataPtr

Retourne un pointeur vers un élément de zone de liste.

CListBox::GetItemHeight

Détermine la hauteur d'éléments dans une zone de liste.

CListBox::GetItemRect

Retourne le rectangle englobant de l'élément de zone de liste à mesure qu'il est actuellement affiché.

CListBox::GetListBoxInfo

Récupère le nombre d'éléments par colonne.

CListBox::GetLocale

Récupère l'identificateur de paramètres régionaux pour une zone de liste.

CListBox::GetSel

Retourne l'état de sélection d'un élément de zone de liste.

CListBox::GetSelCount

Retourne le nombre de chaînes actuellement sélectionnées dans une zone de liste à sélection multiple.

CListBox::GetSelItems

Retourne les index des chaînes actuellement sélectionnées dans une zone de liste.

CListBox::GetText

Copier un élément de zone de liste dans une mémoire tampon.

CListBox::GetTextLen

Retourne la longueur en octets d'un élément de zone de liste.

CListBox::GetTopIndex

Retourne l'index de la première chaîne visible dans une zone de liste.

CListBox::InitStorage

Préaffecte les blocs de mémoire pour les éléments et les chaînes de zone de liste.

CListBox::InsertString

Insère une chaîne à un emplacement spécifique dans une zone de liste.

CListBox::ItemFromPoint

Retourne l'index de l'élément de zone de liste le plus près un point.

CListBox::MeasureItem

Appelé par l'infrastructure lorsqu'une zone de liste owner-draw est créée pour déterminer les dimensions zone de liste.

CListBox::ResetContent

Efface toutes les entrées d'une zone de liste.

CListBox::SelectString

Recherche et sélectionne une chaîne dans une zone de liste à sélection unique.

CListBox::SelItemRange

Active ou désélectionne une plage des chaînes dans une zone de liste à sélection multiple.

CListBox::SetAnchorIndex

Définit le point d'ancrage dans une zone de liste à sélection multiple pour démarrer une sélection étendue.

CListBox::SetCaretIndex

Définit le rectangle de focus à l'élément à l'index spécifié dans une zone de liste à sélection multiple.

CListBox::SetColumnWidth

Définit la largeur de colonne d'une zone de liste multicolonne.

CListBox::SetCurSel

Sélectionne une chaîne de zone de liste.

CListBox::SetHorizontalExtent

Définit la largeur en pixels qu'une zone de liste peut être horizontale vous faites.

CListBox::SetItemData

Définit la valeur 32 bits associé à l'élément de zone de liste.

CListBox::SetItemDataPtr

Définit un pointeur vers l'élément de zone de liste.

CListBox::SetItemHeight

Définit la hauteur d'éléments dans une zone de liste.

CListBox::SetLocale

Définit l'identificateur de paramètres régionaux pour une zone de liste.

CListBox::SetSel

Active ou désélectionne un élément de zone de liste dans une zone de liste à sélection multiple.

CListBox::SetTabStops

Définit les positions de tabulation dans une zone de liste.

CListBox::SetTopIndex

Définit l'index de base zéro de la première chaîne visible dans une zone de liste.

CListBox::VKeyToItem

Substitution pour fournir WM_KEYDOWN personnalisé gestion pour les zones de liste avec le jeu de styles de LBS_WANTKEYBOARDINPUT .

Notes

Une zone de liste affiche une liste d'éléments, tels que les noms du fichier, que l'utilisateur peut afficher et sélectionnez.

Dans une zone de liste à sélection unique, l'utilisateur peut sélectionner un seul élément. Dans une zone de liste à sélection multiple, une plage d'éléments peuvent être sélectionnés. Lorsque l'utilisateur sélectionne un élément, il est mis en surbrillance et la zone de liste envoie un message de notification à la fenêtre parente.

Vous pouvez créer une zone de liste à partir d'un modèle de boîte de dialogue ou directement dans votre code. Pour créer directement, construisez l'objet d' CListBox , puis appelez la fonction membre de Create pour créer le contrôle zone de liste déroulante windows et le lier à l'objet d' CListBox . Pour utiliser une zone de liste dans un modèle de boîte de dialogue, déclarer une variable de zone de liste dans votre classe de boîte de dialogue, pour utiliser ensuite DDX_Control dans la fonction d' DoDataExchange de votre classe de boîte de dialogue pour connecter la variable membre dans le contrôle. (cela se fait automatiquement lorsque vous ajoutez une variable de contrôle à votre classe de boîte de dialogue.)

La construction peut être un processus à une étape dans une classe dérivée d' CListBox. Entrez un constructeur pour la classe dérivée et appelez Créer du constructeur.

Si vous souhaitez gérer des messages de notification de fenêtres envoyés par une zone de liste à son parent (généralement une classe dérivée de CDialog), ajoutez une entrée de la table des messages et une fonction membre gestionnaire de messages à la classe parente pour chaque message.

Chaque entrée de la table des messages prend la forme suivante :

ON_Notification( id, memberFxn )

où id spécifie l'ID de fenêtre enfant du contrôle zone de liste déroulante envoyant la notification et memberFxn est le nom de la fonction membre parente que vous avez écrit pour traiter la notification.

Le prototype de fonction du parent est la suivante :

afx_msg void memberFxn( );

Voici une liste d'entrées de la table des messages potentiels et une description des cas où elle est envoyée au parent :

  • ON_LBN_DBLCLK l'utilisateur double-clique sur une chaîne dans une zone de liste. Une seule zone de liste comportant le style de LBS_NOTIFY envoie le message de notification.

  • ON_LBN_ERRSPACE la zone de liste ne peut pas allouer suffisamment de mémoire pour accepter la demande.

  • ON_LBN_KILLFOCUS la zone de liste perd le focus d'entrée.

  • ON_LBN_SELCANCEL la sélection actuelle de la zone de liste est annulé. Ce message n'est envoyé lorsqu'une zone de liste a le style de LBS_NOTIFY .

  • ON_LBN_SELCHANGE que la sélection dans la zone de liste a changé. Cette notification n'est pas envoyée si la sélection est modifiée par la fonction membre de CListBox::SetCurSel . Cette notification s'applique uniquement à une zone de liste comportant le style de LBS_NOTIFY . Le message de notification de LBN_SELCHANGE est envoyé pour une zone de liste à sélection multiple lorsque l'utilisateur appuie sur une touche de direction, même si la sélection ne change pas.

  • ON_LBN_SETFOCUS la zone de liste reçoit le focus d'entrée.

  • ON_WM_CHARTOITEM une zone de liste owner-draw qui n'a pas de chaînes reçoit un message d' WM_CHAR .

  • La zone de liste d'ON_WM_VKEYTOITEM Un avec le style de LBS_WANTKEYBOARDINPUT reçoit un message d' WM_KEYDOWN .

Si vous créez un objet d' CListBox dans une boîte de dialogue (via une ressource de boîte de dialogue), l'objet d' CListBox est automatiquement détruit lorsque l'utilisateur ferme la boîte de dialogue.

Si vous créez un objet d' CListBox dans une fenêtre, vous pouvez devoir destruction de l'objet d' CListBox . Si vous créez l'objet d' CListBox sur la pile, elle est perdue automatiquement. Si vous créez l'objet d' CListBox sur le tas à l'aide de la fonction de nouveau , vous devez appeler supprimer sur l'objet pour le détruire lorsque l'utilisateur ferme la fenêtre parente.

Si vous allouez une mémoire de l'objet d' CListBox , remplacez le destructeur d' CListBox pour que l'allocation.

Hiérarchie d'héritage

CObject

CCmdTarget

CWnd

CListBox

Configuration requise

En-tête : afxwin.h

Voir aussi

Référence

CWnd, classe

Graphique de la hiérarchie

CWnd, classe

CButton, classe

CComboBox, classe

CEdit, classe

CScrollBar, classe

CStatic, classe

Concepts

Exemple CTRLTEST MFC