CComboBox

Die CComboBox -Klasse stellt die Funktionalität eines Windows-Kombinationsfelds.

Ein Kombinationsfeld besteht aus einem Listenfeld kombiniert mit einem statischen Steuerelement oder Edit-Steuerelement. Der Listenfeld Teil des Steuerelements kann jederzeit angezeigt werden oder möglicherweise nur Dropdown wenn der Benutzer den Dropdown-Pfeil neben dem Steuerelement auswählt.

Das derzeit ausgewählte Element in der Liste (falls vorhanden) wird in der statischen oder edit-Steuerelement. Zusätzlich, wenn das Kombinationsfeld Dropdown-Listenfeld Stil hat, der Benutzer kann das erste Zeichen eines der Elemente in der Liste eingeben, und im Listenfeld wenn sichtbar ist, wird das nächste Element mit das erste Zeichen markieren.

Die folge&nde Tabelle vergleicht die drei Kombinationsfeld- Stile.nbsp;

Stil Wenn im Listenfeld sichtbar ist? Statische oder Edit-Steuerelement?
Einfache Immer Bearbeiten
Dropdown-Liste Wenn sank Bearbeiten
Dropdown-Liste Wenn sank Statisch

Sie können ein CComboBox -Objekt entweder eine Dialogfeldvorlage oder direkt im Code erstellen. In beiden Fällen zuerst rufen Sie den Konstruktor CComboBox auf das CComboBox -Objekt konstruieren; dann rufen Sie die Create Member-Funktion zum Erstellen des Steuerelements, und fügen Sie es auf das CComboBox -Objekt.

Wenn Sie ein Kombinationsfeld zu seinem übergeordneten Element (in der Regel einer von CDialogabgeleiteten Klasse) per Windows-Benachrichtigungen behandeln möchten, fügen Sie eine Meldungszuordnung Eintrag und Meldungshandler Memberfunktion auf die übergeordnete Klasse für jede Nachricht.

Jeder Eintrag der Meldungszuordnung nimmt folgende form:

ON_Benachrichtigung( Id, MemberFxn )

wo Id gibt die ChildWindow ID des im Kombinationsfeld-Steuerelement senden die Benachrichtigungs- und MemberFxn ist der Name des übergeordneten Member-Funktion, die Sie geschrieben haben, um die Benachrichtigung zu verarbeiten.

Die übergeordnete Funktionsprototyp ist wie folgt:

afx_msg privatevoid memberFxn( );

Die Reihenfolge, in der bestimmte Benachrichtigungen gesendet werden, kann nicht vorhergesagt werden. Insbesondere kann eine CBN_SELCHANGE -Benachrichtigung vor oder nach einer Benachrichtigung CBN_CLOSEUP auftreten.

Potenzielle Meldungszuordnungseinträge sind folgende:

Wenn Sie ein CComboBox -Objekt innerhalb eines Dialogfelds (durch eine Dialogfeldressource) erstellen, wird das CComboBox -Objekt automatisch zerstört, wenn der Benutzer das Dialogfeld schließt.

Wenn Sie eine CComboBox -Objekt in ein anderes Fensterobjekt einbetten, müssen Sie nicht zu zerstören. Wenn Sie das CComboBox -Objekt auf dem Stapel erstellt, wird es automatisch zerstört. Wenn Sie das CComboBox -Objekt auf dem Heap mithilfe der neuen Funktion erstellen, müssen Sie Löschen für das Objekt aufrufen, es zu zerstören, wenn das Kombinationsfeld Windows zerstört wird.

# include lt;afxwin.h>

Klasse&nmember |nbsp; Basisklasse | Hierarchiediagramm

Beispiel&Nbsp; MFC-Beispiel CTRLBARS

Siehe auch&Nbsp;CWnd, CButton, CEdit, CListBox, CScrollBar, CStatic, CDialog

Index