CListBox

Klasse CListBox stellt die Funktionalität eines Windows-Listenfelds. Ein Listenfeld zeigt eine Liste der Elemente, z. B. Dateinamen, die der Benutzer anzeigen und auswählen können.

In einem Listenfeld mit einfacher Auswahl kann der Benutzer nur ein Element auswählen. In einem Mehrfachauswahl-Listenfeld kann ein Bereich von Elementen ausgewählt werden. Wenn der Benutzer ein Element auswählt, wird es hervorgehoben, und das Listenfeld sendet eine Benachrichtigung an das übergeordnete Fenster.

Sie können ein Listenfeld, das eine Dialogfeldvorlage oder direkt im Code erstellen. Um es direkt zu erstellen, erstellen Sie das CListBox -Objekt, dann rufen Sie die Create Member-Funktion das Listenfeld Steuerelement in Windows erstellen und fügen Sie es dem CListBox -Objekt. Um ein Listenfeld im Dialogfeldvorlage zu verwenden, deklarieren Sie eine Variable Liste-Box in der Dialogfeldklasse, dann verwenden Sie DDX_Control in der Dialogfeldklasse DoDataExchange -Funktion, um die Membervariable des Steuerelements herstellen. (ClassWizard tut dies für Sie automatisch, wenn Sie eine Steuervariable der Dialogfeldklasse hinzufügen.)

Bau kann ein langwieriger Vorgang in eine Klasse CListBoxabgeleitet werden. Einen Konstruktor für die abgeleitete Klasse schreiben und Erstellen von innerhalb des Konstruktors aufrufen.

Wenn Sie ein Listenfeld 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 angibt, die untergeordnete Fenster ID des Listenfeld Steuerelements 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( );

Es folgt eine Liste der möglichen Meldungszuordnungseinträge sowie eine Beschreibung der Fälle, in denen sie dem übergeordneten gesendet werden würde:

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

Wenn Sie eine CListBox -Objekt in einem Fenster erstellen, müssen Sie das CListBox -Objekt zu zerstören. Wenn Sie das CListBox -Objekt auf dem Stapel erstellt, wird es automatisch zerstört. Wenn Sie mithilfe der neuen Funktion das CListBox -Objekt auf dem Heap erstellen, müssen Sie Löschen für das Objekt aufrufen, es zu zerstören, wenn der Benutzer das übergeordnete Fenster schließt.

Wenn Sie Speicher im CListBox -Objekt zuweisen, Überschreiben des CListBox -Destruktors, die Zuweisung zu entsorgen.

# include lt;afxwin.h>

Klasse&nmember |nbsp; Basisklasse | Hierarchiediagramm

Beispiel&Nbsp; CTRLTEST MFC-Beispiel

Siehe auch&Nbsp;CWnd, Coder, CComboBox, CEdit, CScrollBar, CStatic

Index