CComboBoxEx, classe
Étend le contrôle de zone de liste déroulante en fournissant la prise en charge des listes d'images.
Syntaxe
class CComboBoxEx : public CComboBox
Membres
Constructeurs publics
Nom | Description |
---|---|
CComboBoxEx ::CComboBoxEx | Construit un objet CComboBoxEx . |
Méthodes publiques
Nom | Description |
---|---|
CComboBoxEx ::Create | Crée la zone de liste modifiable et l’attache à l’objet CComboBoxEx . |
CComboBoxEx ::CreateEx | Crée une zone de liste modifiable avec les styles étendus Windows spécifiés et l’attache à un ComboBoxEx objet. |
CComboBoxEx ::D eleteItem | Supprime un élément d’un ComboBoxEx contrôle. |
CComboBoxEx ::GetComboBoxCtrl | Récupère un pointeur vers le contrôle de zone de liste modifiable enfant. |
CComboBoxEx ::GetEditCtrl | Récupère le handle dans la partie modifier le contrôle d’un ComboBoxEx contrôle. |
CComboBoxEx ::GetExtendedStyle | Récupère les styles étendus utilisés pour un ComboBoxEx contrôle. |
CComboBoxEx ::GetImageList | Récupère un pointeur vers la liste d’images affectée à un ComboBoxEx contrôle. |
CComboBoxEx ::GetItem | Récupère les informations d’élément d’un élément donné ComboBoxEx . |
CComboBoxEx ::HasEditChanged | Détermine si l’utilisateur a modifié le contenu du ComboBoxEx contrôle d’édition en tapant. |
CComboBoxEx ::InsertItem | Insère un nouvel élément dans un ComboBoxEx contrôle. |
CComboBoxEx ::SetExtendedStyle | Définit des styles étendus au sein d’un ComboBoxEx contrôle. |
CComboBoxEx ::SetImageList | Définit une liste d’images pour un ComboBoxEx contrôle. |
CComboBoxEx ::SetItem | Définit les attributs d’un élément dans un ComboBoxEx contrôle. |
CComboBoxEx ::SetWindowTheme | Définit le style visuel du contrôle de zone de liste modifiable étendue. |
Notes
À l’aide de la création CComboBoxEx
de contrôles de zone de liste modifiable, vous n’avez plus besoin d’implémenter votre propre code de dessin d’image. Utilisez plutôt CComboBoxEx
pour accéder aux images à partir d’une liste d’images.
Prise en charge de la liste d’images
Dans une zone de liste modifiable standard, le propriétaire de la zone de liste modifiable est responsable du dessin d’une image en créant la zone de liste modifiable en tant que contrôle de dessin propriétaire. Lorsque vous utilisez CComboBoxEx
, vous n’avez pas besoin de définir les styles de dessin CBS_OWNERDRAWFIXED et de CBS_HASSTRINGS, car ils sont implicites. Sinon, vous devez écrire du code pour effectuer des opérations de dessin. Un CComboBoxEx
contrôle prend en charge jusqu’à trois images par élément : un pour un état sélectionné, un pour un état non sélectionné et un pour une image de superposition.
Styles
CComboBoxEx
prend en charge les styles CBS_SIMPLE, CBS_DROPDOWN, CBS_DROPDOWNLIST et WS_CHILD. Tous les autres styles passés lorsque vous créez la fenêtre sont ignorés par le contrôle. Une fois la fenêtre créée, vous pouvez fournir d’autres styles de zone de liste modifiable en appelant la CComboBoxEx
fonction membre SetExtendedStyle. Avec ces styles, vous pouvez :
Définissez les recherches de chaînes dans la liste pour qu’elles respectent la casse.
Créez un contrôle de zone de liste modifiable qui utilise la barre oblique inverse ('/'), les barres obliques inverses ('\') et les caractères point ('.') en tant que délimiteurs de mots. Cela permet aux utilisateurs de passer d’un mot à l’autre à l’aide du raccourci clavier Ctrl+Flèche.
Définissez le contrôle de zone de liste modifiable pour afficher ou ne pas afficher une image. Si aucune image n’est affichée, la zone de liste modifiable peut supprimer le retrait du texte qui prend en charge une image.
Créez un contrôle de zone de liste modifiable étroite, y compris le dimensionnement afin qu’il extrait la zone de liste modifiable plus large qu’elle contient.
Ces indicateurs de style sont décrits plus loin dans Utilisation de CComboBoxEx.
Attributs de rétention et de rappel d’élément
Les informations d’élément, telles que les index pour les éléments et les images, les valeurs de retrait et les chaînes de texte, sont stockées dans la structure Win32 COMBOBOXEXITEM, comme décrit dans le Kit de développement logiciel (SDK) Windows. La structure contient également des membres qui correspondent aux indicateurs de rappel.
Pour une discussion conceptuelle détaillée, consultez Utilisation de CComboBoxEx.
Hiérarchie d'héritage
CComboBoxEx
Spécifications
En-tête : afxcmn.h
CComboBoxEx ::CComboBoxEx
Appelez cette fonction membre pour créer un CComboBoxEx
objet.
CComboBoxEx();
CComboBoxEx ::Create
Crée la zone de liste modifiable et l’attache à l’objet CComboBoxEx
.
virtual BOOL Create(
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID);
Paramètres
dwStyle
Spécifie la combinaison de styles de zone de liste modifiable appliquée à la zone de liste modifiable. Pour plus d’informations sur les styles, consultez les remarques ci-dessous.
rect
Référence à un objet CRect ou à une structure RECT, qui est la position et la taille de la zone de liste déroulante.
pParentWnd
Pointeur vers un objet CWnd qui est la fenêtre parente de la zone de liste modifiable (généralement a CDialog
). Elle ne doit pas être NULL.
nID
Spécifie l’ID de contrôle de la zone de liste modifiable.
Valeur de retour
Différent de zéro si l’objet a été créé avec succès ; sinon 0.
Notes
Créez un CComboBoxEx
objet en deux étapes :
Appelez CComboBoxEx pour construire un
CComboBoxEx
objet.Appelez cette fonction membre, qui crée la zone de liste déroulante Windows étendue et l’attache à l’objet
CComboBoxEx
.
Lorsque vous appelez Create
, MFC initialise les contrôles courants.
Lorsque vous créez la zone de liste modifiable, vous pouvez spécifier l’un ou l’ensemble des styles de zone de liste modifiable suivants :
CBS_SIMPLE
CBS_DROPDOWN
CBS_DROPDOWNLIST
CBS_AUTOHSCROLL
WS_CHILD
Tous les autres styles passés lorsque vous créez la fenêtre sont ignorés. Le ComboBoxEx
contrôle prend également en charge les styles étendus qui fournissent des fonctionnalités supplémentaires. Ces styles sont décrits dans les styles étendus de contrôle ComboBoxEx, dans le Kit de développement logiciel (SDK) Windows. Définissez ces styles en appelant SetExtendedStyle.
Si vous souhaitez utiliser des styles windows étendus avec votre contrôle, appelez CreateEx au lieu de Create
.
CComboBoxEx ::CreateEx
Appelez cette fonction pour créer un contrôle de zone de liste modifiable étendue (fenêtre enfant) et l’associer à l’objet CComboBoxEx
.
virtual BOOL CreateEx(
DWORD dwExStyle,
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID);
Paramètres
dwExStyle
Spécifie le style étendu du contrôle en cours de création. Pour obtenir la liste des styles Windows étendus, consultez le paramètre dwExStyle pour CreateWindowEx dans le Kit de développement logiciel (SDK) Windows.
dwStyle
Style du contrôle de zone de liste modifiable. Consultez Créer pour obtenir la liste des styles.
rect
Référence à une structure RECT décrivant la taille et la position de la fenêtre à créer, dans les coordonnées clientes de pParentWnd.
pParentWnd
Pointeur vers la fenêtre qui est le parent du contrôle.
nID
ID de la fenêtre enfant du contrôle.
Valeur de retour
Valeur différente de zéro cas de réussite ; sinon, 0.
Notes
Utilisez CreateEx
plutôt que d’appliquer Create
des styles Windows étendus, spécifiés par le préface de style étendu Windows WS_EX_.
CreateEx
crée le contrôle avec les styles Windows étendus spécifiés par dwExStyle. Vous devez définir des styles étendus spécifiques à un contrôle de zone de liste modifiable étendue à l’aide de SetExtendedStyle. Par exemple, utilisez CreateEx
pour définir des styles tels que WS_EX_CONTEXTHELP, mais pour SetExtendedStyle
définir des styles tels que CBES_EX_CASESENSITIVE. Pour plus d’informations, consultez les styles décrits dans la rubrique Styles étendus de contrôle ComboBoxEx dans le Kit de développement logiciel (SDK) Windows.
CComboBoxEx ::D eleteItem
Supprime un élément d’un ComboBoxEx
contrôle.
int DeleteItem(int iIndex);
Paramètres
iIndex
Index de base zéro de l’élément à supprimer.
Valeur de retour
Nombre d’éléments restants dans le contrôle. Si iIndex n’est pas valide, la fonction retourne CB_ERR.
Notes
Cette fonction membre implémente les fonctionnalités du message CBEM_DELETEITEM, comme décrit dans le Kit de développement logiciel (SDK) Windows. Lorsque vous appelez DeleteItem, un message WM_NOTIFY avec CBEN_DELETEITEM notification est envoyé à la fenêtre parente.
CComboBoxEx ::GetComboBoxCtrl
Appelez cette fonction membre pour obtenir un pointeur vers un contrôle de zone de liste modifiable dans un CComboBoxEx
objet.
CComboBox* GetComboBoxCtrl();
Valeur de retour
Pointeur vers un objet CComboBox
.
Notes
Le CComboBoxEx
contrôle se compose d’une fenêtre parente, qui encapsule un CComboBox
.
L’objet CComboBox
pointé par la valeur de retour est un objet temporaire et est détruit pendant le prochain temps de traitement inactif.
CComboBoxEx ::GetEditCtrl
Appelez cette fonction membre pour obtenir un pointeur vers le contrôle d’édition d’une zone de liste déroulante.
CEdit* GetEditCtrl();
Valeur de retour
Pointeur vers un objet CEdit .
Notes
Un CComboBoxEx
contrôle utilise une zone d’édition lorsqu’elle est créée avec le style CBS_DROPDOWN.
L’objet CEdit
pointé par la valeur de retour est un objet temporaire et est détruit pendant le prochain temps de traitement inactif.
CComboBoxEx ::GetExtendedStyle
Appelez cette fonction membre pour obtenir les styles étendus utilisés pour un CComboBoxEx
contrôle.
DWORD GetExtendedStyle() const;
Valeur de retour
Valeur DWORD qui contient les styles étendus utilisés pour le contrôle de zone de liste modifiable.
Notes
Pour plus d’informations sur ces styles, consultez Les styles étendus de contrôle ComboBoxEx dans le Kit de développement logiciel (SDK) Windows.
CComboBoxEx ::GetImageList
Appelez cette fonction membre pour obtenir un pointeur vers la liste d’images utilisée par un CComboBoxEx
contrôle.
CImageList* GetImageList() const;
Valeur de retour
Pointeur vers un objet CImageList . En cas d’échec, cette fonction membre retourne NULL.
Notes
L’objet CImageList
pointé par la valeur de retour est un objet temporaire et est détruit pendant le prochain temps de traitement inactif.
CComboBoxEx ::GetItem
Récupère les informations d’élément d’un élément donné ComboBoxEx
.
BOOL GetItem(COMBOBOXEXITEM* pCBItem);
Paramètres
pCBItem
Pointeur vers une structure COMBOBOXEXITEM qui recevra les informations d’élément.
Valeur de retour
Différent de zéro si l’opération a réussi ; sinon 0.
Notes
Cette fonction membre implémente les fonctionnalités du message CBEM_GETITEM, comme décrit dans le Kit de développement logiciel (SDK) Windows.
CComboBoxEx ::HasEditChanged
Détermine si l’utilisateur a modifié le contenu du ComboBoxEx
contrôle d’édition en tapant.
BOOL HasEditChanged();
Valeur de retour
Différent de zéro si l’utilisateur a tapé dans la zone d’édition du contrôle ; sinon 0.
Notes
Cette fonction membre implémente les fonctionnalités du message CBEM_HASEDITCHANGED, comme décrit dans le Kit de développement logiciel (SDK) Windows.
CComboBoxEx ::InsertItem
Insère un nouvel élément dans un ComboBoxEx
contrôle.
int InsertItem(const COMBOBOXEXITEM* pCBItem);
Paramètres
pCBItem
Pointeur vers une structure COMBOBOXEXITEM qui recevra les informations d’élément. Cette structure contient des valeurs d’indicateur de rappel pour l’élément.
Valeur de retour
Index auquel le nouvel élément a été inséré en cas de réussite ; sinon -1.
Notes
Lorsque vous appelez InsertItem
, un message WM_NOTIFY avec CBEN_INSERTITEM notification est envoyé à la fenêtre parente.
CComboBoxEx ::SetExtendedStyle
Appelez cette fonction membre pour définir les styles étendus utilisés pour un contrôle étendu de zone de liste modifiable.
DWORD SetExtendedStyle(
DWORD dwExMask,
DWORD dwExStyles);
Paramètres
dwExMask
Valeur DWORD qui indique les styles dans dwExStyles à affecter. Seuls les styles étendus dans dwExMask seront modifiés. Tous les autres styles seront conservés comme c’est le cas. Si ce paramètre est égal à zéro, tous les styles dans dwExStyles sont affectés.
dwExStyles
Valeur DWORD qui contient les styles étendus de contrôle de zone de liste modifiable à définir pour le contrôle.
Valeur de retour
Valeur DWORD qui contient les styles étendus précédemment utilisés pour le contrôle.
Notes
Pour plus d’informations sur ces styles, consultez Les styles étendus de contrôle ComboBoxEx dans le Kit de développement logiciel (SDK) Windows.
Pour créer un contrôle étendu de zone de liste modifiable avec des styles windows étendus, utilisez CreateEx.
CComboBoxEx ::SetImageList
Définit une liste d’images pour un ComboBoxEx
contrôle.
CImageList* SetImageList(CImageList* pImageList);
Paramètres
pImageList
Pointeur vers un CImageList
objet contenant les images à utiliser avec le CComboBoxEx
contrôle.
Valeur de retour
Pointeur vers un objet CImageList contenant les images précédemment utilisées par le CComboBoxEx
contrôle. NULL si aucune liste d’images n’a été définie précédemment.
Notes
Cette fonction membre implémente les fonctionnalités du message CBEM_SETIMAGELIST, comme décrit dans le Kit de développement logiciel (SDK) Windows. Si vous modifiez la hauteur du contrôle d’édition par défaut, appelez la fonction Win32 SetWindowPos pour redimensionner votre contrôle après l’appel SetImageList
, ou elle ne s’affiche pas correctement.
L’objet CImageList
pointé par la valeur de retour est un objet temporaire et est détruit pendant le prochain temps de traitement inactif.
CComboBoxEx ::SetItem
Définit les attributs d’un élément dans un ComboBoxEx
contrôle.
BOOL SetItem(const COMBOBOXEXITEM* pCBItem);
Paramètres
pCBItem
Pointeur vers une structure COMBOBOXEXITEM qui recevra les informations d’élément.
Valeur de retour
Différent de zéro si l’opération a réussi ; sinon 0.
Notes
Cette fonction membre implémente les fonctionnalités du message CBEM_SETITEM, comme décrit dans le Kit de développement logiciel (SDK) Windows.
CComboBoxEx ::SetWindowTheme
Définit le style visuel du contrôle de zone de liste modifiable étendue.
HRESULT SetWindowTheme(LPCWSTR pszSubAppName);
Paramètres
pszSubAppName
Pointeur vers une chaîne Unicode qui contient le style visuel de zone de liste modifiable étendue à définir.
Valeur de retour
La valeur de retour n’est pas utilisée.
Notes
Cette fonction membre émule les fonctionnalités du message CBEM_SETWINDOWTHEME , comme décrit dans le Kit de développement logiciel (SDK) Windows.
Voir aussi
MFC, exemple MFCIE
CComboBox, classe
Graphique hiérarchique
CComboBox, classe