CComboBoxEx-Klasse
Erweitert das Kombinationsfeld-Steuerelement durch die Unterstützung für Bildlisten.
Syntax
class CComboBoxEx : public CComboBox
Member
Öffentliche Konstruktoren
Name | Beschreibung |
---|---|
CComboBoxEx::CComboBoxEx | Erstellt ein CComboBoxEx -Objekt. |
Öffentliche Methoden
Name | Beschreibung |
---|---|
CComboBoxEx::Create | Erstellt das Kombinationsfeld und fügt es an das CComboBoxEx Objekt an. |
CComboBoxEx::CreateEx | Erstellt ein Kombinationsfeld mit den angegebenen erweiterten Windows-Formatvorlagen und fügt es an ein ComboBoxEx Objekt an. |
CComboBoxEx::D eleteItem | Entfernt ein Element aus einem ComboBoxEx Steuerelement. |
CComboBoxEx::GetComboBoxCtrl | Ruft einen Zeiger auf das untergeordnete Kombinationsfeld-Steuerelement ab. |
CComboBoxEx::GetEditCtrl | Ruft den Handle zum Bearbeitungssteuerelementteil eines ComboBoxEx Steuerelements ab. |
CComboBoxEx::GetExtendedStyle | Ruft die erweiterten Formatvorlagen ab, die für ein ComboBoxEx Steuerelement verwendet werden. |
CComboBoxEx::GetImageList | Ruft einen Zeiger auf die Bildliste ab, die einem ComboBoxEx Steuerelement zugewiesen ist. |
CComboBoxEx::GetItem | Ruft Elementinformationen für ein bestimmtes ComboBoxEx Element ab. |
CComboBoxEx::HasEditChanged | Bestimmt, ob der Benutzer den Inhalt des ComboBoxEx Bearbeitungssteuerelements durch Eingabe geändert hat. |
CComboBoxEx::InsertItem | Fügt ein neues Element in ein ComboBoxEx Steuerelement ein. |
CComboBoxEx::SetExtendedStyle | Legt erweiterte Formatvorlagen innerhalb eines ComboBoxEx Steuerelements fest. |
CComboBoxEx::SetImageList | Legt eine Bildliste für ein ComboBoxEx Steuerelement fest. |
CComboBoxEx::SetItem | Legt die Attribute für ein Element in einem ComboBoxEx Steuerelement fest. |
CComboBoxEx::SetWindowTheme | Legt den visuellen Stil des erweiterten Kombinationsfeld-Steuerelements fest. |
Hinweise
CComboBoxEx
Zum Erstellen von Kombinationsfeld-Steuerelementen müssen Sie keinen eigenen Bildzeichnungscode mehr implementieren. Verwenden Sie CComboBoxEx
stattdessen den Zugriff auf Bilder aus einer Bildliste.
Bildlistenunterstützung
In einem Standard-Kombinationsfeld ist der Besitzer des Kombinationsfelds für das Zeichnen eines Bilds verantwortlich, indem das Kombinationsfeld als Besitzer-Draw-Steuerelement erstellt wird. Bei Verwendung CComboBoxEx
müssen Sie die Zeichenformatvorlagen nicht CBS_OWNERDRAWFIXED und CBS_HASSTRINGS festlegen, da sie impliziert sind. Andernfalls müssen Sie Code schreiben, um Zeichnungsvorgänge auszuführen. Ein CComboBoxEx
Steuerelement unterstützt bis zu drei Bilder pro Element: eines für einen ausgewählten Zustand, eines für einen nicht ausgewählten Zustand und eines für ein Überlagerungsbild.
Stilarten
CComboBoxEx
unterstützt die Formatvorlagen CBS_SIMPLE, CBS_DROPDOWN, CBS_DROPDOWNLIST und WS_CHILD. Alle anderen Formatvorlagen, die beim Erstellen des Fensters übergeben werden, werden vom Steuerelement ignoriert. Nachdem das Fenster erstellt wurde, können Sie andere Kombinationsfeld-Stile bereitstellen, indem Sie die CComboBoxEx
Memberfunktion SetExtendedStyle aufrufen. Mit diesen Formatvorlagen können Sie:
Legen Sie Zeichenfolgensuchen in der Liste auf Groß-/Kleinschreibung fest.
Erstellen Sie ein Kombinationsfeld-Steuerelement, das die Schrägstriche ('/'), umgekehrte Schrägstriche ('\') und Punktzeichen ('.') als Trennzeichen für Wörter verwendet. Auf diese Weise können Benutzer mit der Tastenkombination STRG+PFEIL von Wort zu Wort springen.
Legen Sie das Kombinationsfeld-Steuerelement so fest, dass entweder ein Bild angezeigt oder nicht angezeigt wird. Wenn kein Bild angezeigt wird, kann das Kombinationsfeld den Texteinzug entfernen, der ein Bild enthält.
Erstellen Sie ein schmales Kombinationsfeld-Steuerelement, einschließlich der Größe, sodass es das enthaltene breitere Kombinationsfeld ausklammert.
Diese Stilkennzeichnungen werden unter "Using CComboBoxEx" weiter beschrieben.
Elementaufbewahrungs- und Rückrufelementattribute
Elementinformationen, z. B. Indizes für Elemente und Bilder, Einzugswerte und Textzeichenfolgen, werden in der Win32-Struktur COMBOBOXEXITEM gespeichert, wie im Windows SDK beschrieben. Die Struktur enthält auch Elemente, die Rückrufkennzeichnungen entsprechen.
Eine ausführliche, konzeptionelle Diskussion finden Sie unter Verwenden von CComboBoxEx.
Vererbungshierarchie
CComboBoxEx
Anforderungen
Header: afxcmn.h
CComboBoxEx::CComboBoxEx
Rufen Sie diese Memberfunktion auf, um ein CComboBoxEx
Objekt zu erstellen.
CComboBoxEx();
CComboBoxEx::Create
Erstellt das Kombinationsfeld und fügt es an das CComboBoxEx
Objekt an.
virtual BOOL Create(
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID);
Parameter
dwStyle
Gibt die Kombination von Kombinationsfeldformaten an, die auf das Kombinationsfeld angewendet werden. Weitere Informationen zu Formatvorlagen finden Sie weiter unten in den Hinweisen .
rect
Ein Verweis auf ein CRect-Objekt oder eine RECT-Struktur, die die Position und Größe des Kombinationsfelds darstellt.
pParentWnd
Ein Zeiger auf ein CWnd-Objekt , das das übergeordnete Fenster des Kombinationsfelds ist (in der Regel ein CDialog
). Er darf nicht NULL sein.
Nid
Gibt die Steuerelement-ID des Kombinationsfelds an.
Rückgabewert
Nonzero, wenn das Objekt erfolgreich erstellt wurde; andernfalls 0.
Hinweise
Erstellen eines CComboBoxEx
Objekts in zwei Schritten:
Rufen Sie CComboBoxEx auf, um ein
CComboBoxEx
Objekt zu erstellen.Rufen Sie diese Memberfunktion auf, die das erweiterte Windows-Kombinationsfeld erstellt und an das
CComboBoxEx
Objekt anfügt.
Wenn Sie aufrufen Create
, initialisiert MFC die allgemeinen Steuerelemente.
Wenn Sie das Kombinationsfeld erstellen, können Sie beliebige oder alle folgenden Kombinationsfeldarten angeben:
CBS_SIMPLE
CBS_DROPDOWN
CBS_DROPDOWNLIST
CBS_AUTOHSCROLL
WS_CHILD
Alle anderen Formatvorlagen, die beim Erstellen des Fensters übergeben werden, werden ignoriert. Das ComboBoxEx
Steuerelement unterstützt auch erweiterte Formatvorlagen, die zusätzliche Features bieten. Diese Formatvorlagen werden im Windows SDK in den erweiterten Stilen des ComboBoxEx-Steuerelements beschrieben. Legen Sie diese Stile fest, indem Sie SetExtendedStyle aufrufen.
Wenn Sie erweiterte Fensterstile mit Ihrem Steuerelement verwenden möchten, rufen Sie CreateEx anstelle von Create
.
CComboBoxEx::CreateEx
Rufen Sie diese Funktion auf, um ein erweitertes Kombinationsfeld-Steuerelement (ein untergeordnetes Fenster) zu erstellen und es dem CComboBoxEx
Objekt zuzuordnen.
virtual BOOL CreateEx(
DWORD dwExStyle,
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID);
Parameter
dwExStyle
Gibt die erweiterte Formatvorlage des zu erstellenden Steuerelements an. Eine Liste der erweiterten Windows-Stile finden Sie unter dem dwExStyle-Parameter für CreateWindowEx im Windows SDK.
dwStyle
Formatvorlage des Kombinationsfeld-Steuerelements. Eine Liste der Formatvorlagen finden Sie unter "Erstellen ".
rect
Ein Verweis auf eine RECT-Struktur , die die Größe und Position des zu erstellenden Fensters in Clientkoordinaten von pParentWnd beschreibt.
pParentWnd
Ein Zeiger auf das Fenster, das das übergeordnete Steuerelement ist.
Nid
Die Untergeordnete Fenster-ID des Steuerelements.
Rückgabewert
Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).
Hinweise
Verwenden Sie CreateEx
anstelle erweiterter Create
Windows-Formatvorlagen, die durch die erweiterte Windows-Formatvorlage WS_EX_ angegeben werden.
CreateEx
erstellt das Steuerelement mit den erweiterten Windows-Stilen, die von dwExStyle angegeben werden. Sie müssen erweiterte Formatvorlagen für ein erweitertes Kombinationsfeld-Steuerelement mithilfe von SetExtendedStyle festlegen. Verwenden Sie CreateEx
z. B. zum Festlegen von Formatvorlagen wie WS_EX_CONTEXTHELP, aber zum SetExtendedStyle
Festlegen von Formatvorlagen wie CBES_EX_CASESENSITIVE. Weitere Informationen finden Sie in den im Thema "ComboBoxEx Control Extended Styles" im Windows SDK beschriebenen Formatvorlagen .
CComboBoxEx::D eleteItem
Entfernt ein Element aus einem ComboBoxEx
Steuerelement.
int DeleteItem(int iIndex);
Parameter
iIndex
Nullbasierter Index des zu entfernenden Elements.
Rückgabewert
Die Anzahl der elemente, die im Steuerelement verbleiben. Wenn iIndex ungültig ist, gibt die Funktion CB_ERR zurück.
Hinweise
Diese Memberfunktion implementiert die Funktionalität der Nachricht CBEM_DELETEITEM, wie im Windows SDK beschrieben. Wenn Sie DeleteItem aufrufen, wird eine WM_NOTIFY Nachricht mit CBEN_DELETEITEM Benachrichtigung an das übergeordnete Fenster gesendet.
CComboBoxEx::GetComboBoxCtrl
Rufen Sie diese Memberfunktion auf, um einen Zeiger auf ein Kombinationsfeld-Steuerelement innerhalb eines CComboBoxEx
Objekts abzurufen.
CComboBox* GetComboBoxCtrl();
Rückgabewert
Ein Zeiger auf ein CComboBox
-Objekt.
Hinweise
Das CComboBoxEx
Steuerelement besteht aus einem übergeordneten Fenster, das ein CComboBox
.
Das CComboBox
Objekt, auf das der Rückgabewert verweist, ist ein temporäres Objekt und wird während der nächsten Leerlaufverarbeitungszeit zerstört.
CComboBoxEx::GetEditCtrl
Rufen Sie diese Memberfunktion auf, um einen Zeiger auf das Bearbeitungssteuerelement für ein Kombinationsfeld abzurufen.
CEdit* GetEditCtrl();
Rückgabewert
Ein Zeiger auf ein CEdit-Objekt .
Hinweise
Ein CComboBoxEx
Steuerelement verwendet ein Bearbeitungsfeld, wenn es mit dem CBS_DROPDOWN-Format erstellt wird.
Das CEdit
Objekt, auf das der Rückgabewert verweist, ist ein temporäres Objekt und wird während der nächsten Leerlaufverarbeitungszeit zerstört.
CComboBoxEx::GetExtendedStyle
Rufen Sie diese Memberfunktion auf, um die für ein CComboBoxEx
Steuerelement verwendeten erweiterten Formatvorlagen abzurufen.
DWORD GetExtendedStyle() const;
Rückgabewert
Der DWORD-Wert, der die erweiterten Formatvorlagen enthält, die für das Kombinationsfeld-Steuerelement verwendet werden.
Hinweise
Weitere Informationen zu diesen Formatvorlagen finden Sie unter ComboBoxEx Control Extended Styles im Windows SDK.
CComboBoxEx::GetImageList
Rufen Sie diese Memberfunktion auf, um einen Zeiger auf die bildliste abzurufen, die von einem CComboBoxEx
Steuerelement verwendet wird.
CImageList* GetImageList() const;
Rückgabewert
Ein Zeiger auf ein CImageList-Objekt . Wenn ein Fehler auftritt, gibt diese Memberfunktion NULL zurück.
Hinweise
Das CImageList
Objekt, auf das der Rückgabewert verweist, ist ein temporäres Objekt und wird während der nächsten Leerlaufverarbeitungszeit zerstört.
CComboBoxEx::GetItem
Ruft Elementinformationen für ein bestimmtes ComboBoxEx
Element ab.
BOOL GetItem(COMBOBOXEXITEM* pCBItem);
Parameter
pCBItem
Ein Zeiger auf eine COMBOBOXEXITEM-Struktur , die die Elementinformationen empfängt.
Rückgabewert
Nonzero, wenn der Vorgang erfolgreich war; andernfalls 0.
Hinweise
Diese Memberfunktion implementiert die Funktionalität der Nachricht CBEM_GETITEM, wie im Windows SDK beschrieben.
CComboBoxEx::HasEditChanged
Bestimmt, ob der Benutzer den Inhalt des ComboBoxEx
Bearbeitungssteuerelements durch Eingabe geändert hat.
BOOL HasEditChanged();
Rückgabewert
Nonzero, wenn der Benutzer im Bearbeitungsfeld des Steuerelements eingegeben hat; andernfalls 0.
Hinweise
Diese Memberfunktion implementiert die Funktionalität der Nachricht CBEM_HASEDITCHANGED, wie im Windows SDK beschrieben.
CComboBoxEx::InsertItem
Fügt ein neues Element in ein ComboBoxEx
Steuerelement ein.
int InsertItem(const COMBOBOXEXITEM* pCBItem);
Parameter
pCBItem
Ein Zeiger auf eine COMBOBOXEXITEM-Struktur , die die Elementinformationen empfängt. Diese Struktur enthält Rückrufkennzeichnungswerte für das Element.
Rückgabewert
Der Index, bei dem das neue Element bei erfolgreicher Ausführung eingefügt wurde; andernfalls -1.
Hinweise
Wenn Sie anrufen InsertItem
, wird eine WM_NOTIFY Nachricht mit CBEN_INSERTITEM Benachrichtigung an das übergeordnete Fenster gesendet.
CComboBoxEx::SetExtendedStyle
Rufen Sie diese Memberfunktion auf, um die erweiterten Formatvorlagen festzulegen, die für ein erweitertes Kombinationsfeld-Steuerelement verwendet werden.
DWORD SetExtendedStyle(
DWORD dwExMask,
DWORD dwExStyles);
Parameter
dwExMask
Ein DWORD-Wert, der angibt, welche Formatvorlagen in dwExStyles betroffen sind. Nur die erweiterten Formatvorlagen in dwExMask werden geändert. Alle anderen Stile werden wie folgt beibehalten. Wenn dieser Parameter null ist, sind alle Formatvorlagen in dwExStyles betroffen.
dwExStyles
Ein DWORD-Wert, der die erweiterten Formatvorlagen für das Kombinationsfeld-Steuerelement enthält, die für das Steuerelement festgelegt werden sollen.
Rückgabewert
Ein DWORD-Wert, der die erweiterten Formatvorlagen enthält, die zuvor für das Steuerelement verwendet wurden.
Hinweise
Weitere Informationen zu diesen Formatvorlagen finden Sie unter ComboBoxEx Control Extended Styles im Windows SDK.
Verwenden Sie CreateEx, um ein erweitertes Kombinationsfeld-Steuerelement mit erweiterten Fensterformaten zu erstellen.
CComboBoxEx::SetImageList
Legt eine Bildliste für ein ComboBoxEx
Steuerelement fest.
CImageList* SetImageList(CImageList* pImageList);
Parameter
pImageList
Ein Zeiger auf ein CImageList
Objekt, das die Bilder enthält, die mit dem CComboBoxEx
Steuerelement verwendet werden sollen.
Rückgabewert
Ein Zeiger auf ein CImageList -Objekt, das die bilder enthält, die CComboBoxEx
zuvor vom Steuerelement verwendet wurden. NULL, wenn zuvor keine Bildliste festgelegt wurde.
Hinweise
Diese Memberfunktion implementiert die Funktionalität der Nachricht CBEM_SETIMAGELIST, wie im Windows SDK beschrieben. Wenn Sie die Höhe des Standardbearbeitungssteuerelements ändern, rufen Sie die Win32-Funktion SetWindowPos auf, um die Größe des Steuerelements nach dem Aufruf SetImageList
zu ändern, oder es wird nicht ordnungsgemäß angezeigt.
Das CImageList
Objekt, auf das der Rückgabewert verweist, ist ein temporäres Objekt und wird während der nächsten Leerlaufverarbeitungszeit zerstört.
CComboBoxEx::SetItem
Legt die Attribute für ein Element in einem ComboBoxEx
Steuerelement fest.
BOOL SetItem(const COMBOBOXEXITEM* pCBItem);
Parameter
pCBItem
Ein Zeiger auf eine COMBOBOXEXITEM-Struktur , die die Elementinformationen empfängt.
Rückgabewert
Nonzero, wenn der Vorgang erfolgreich war; andernfalls 0.
Hinweise
Diese Memberfunktion implementiert die Funktionalität der Nachricht CBEM_SETITEM, wie im Windows SDK beschrieben.
CComboBoxEx::SetWindowTheme
Legt den visuellen Stil des erweiterten Kombinationsfeld-Steuerelements fest.
HRESULT SetWindowTheme(LPCWSTR pszSubAppName);
Parameter
pszSubAppName
Ein Zeiger auf eine Unicode-Zeichenfolge, die den visuellen Stil des erweiterten Kombinationsfelds enthält, der festgelegt werden soll.
Rückgabewert
Der Rückgabewert wird nicht verwendet.
Hinweise
Diese Memberfunktion emuliert die Funktionalität der CBEM_SETWINDOWTHEME Nachricht, wie im Windows SDK beschrieben.
Siehe auch
MFC-Beispiel-MFCIE
CComboBox-Klasse
Hierarchiediagramm
CComboBox-Klasse