CListBox-Klasse
Stellt die Funktionalität eines Windows-Listenfelds bereit.
class CListBox : public CWnd
Mitglieder
Öffentliche Konstruktoren
Name |
Description |
---|---|
Erstellt ein CListBox-Objekt. |
Öffentliche Methoden
Name |
Description |
---|---|
Fügt eine Zeichenfolge ein Listenfeld hinzu. |
|
Überschreiben Sie, um von benutzerdefiniertem WM_CHAR, das für Ownerdrawnlistenfelder bereitzustellen behandelt, die nicht Zeichenfolgen haben. |
|
Aufgerufen durch das Framework, um die Position eines neuen Elements in einem sortierten Ownerdrawn Listenfeld zu bestimmen. |
|
Stellt das Windows-Listenfeld erstellt und fügt es an den CListBox-Objekt. |
|
Aufgerufen vom Framework, wenn der Benutzer ein Element aus einem Ownerdrawn Listenfeld gelöscht wird. |
|
Löscht eine Zeichenfolge aus einem Listenfeld. |
|
Fügt Dateinamen, Laufwerk oder beide vom aktuellen Verzeichnis einem Listenfeld hinzu. |
|
Aufgerufen vom Framework ausgelöst, wenn ein visueller Aspekt eines Ownerdrawnlistenfelds ändert. |
|
Sucht eine Zeichenfolge in einem Listenfeld. |
|
Sucht die erste Listenfeldzeichenfolge, die eine angegebene Zeichenfolge. |
|
Ruft den nullbasierten Index des aktuellen Ankerelements in einem Listenfeld ab. |
|
Bestimmt den Index des Elements, das das Fokusrechteck in einem Mehrfachauswahllistenfeld verfügt. |
|
Gibt die Anzahl von Zeichenfolgen in einem Listenfeld zurück. |
|
Gibt den nullbasierten Index der aktuell ausgewählten Zeichenfolge in einem Listenfeld zurück. |
|
Gibt die Breite in Pixel zurück, dass ein Listenfeld einen horizontalen Bildlauf durchgeführt werden kann. |
|
Gibt den 32-Bit-Wert zurück, der mit dem Listenfeldelement zugeordnet ist. |
|
Gibt einen Zeiger auf einen Listenfeldelement zurück. |
|
Bestimmt die Höhe Elemente in einem Listenfeld. |
|
Gibt das umschließende Rechteck des Listenfeldelements zurück, das gerade angezeigt wird. |
|
Ruft die Anzahl von Elementen pro Spalte ab. |
|
Ruft den Gebietsschemabezeichner für ein Listenfeld ab. |
|
Gibt den Auswahlzustand eines Listenfeldelements zurück. |
|
Gibt die Anzahl von Zeichenfolgen zurück, die derzeit in einem Mehrfachauswahllistenfeld ausgewählt werden. |
|
Gibt die Indizes der Zeichenfolgen zurück, die derzeit in einem Listenfeld ausgewählt werden. |
|
Kopiert ein Listenfeldelement in einen Puffer. |
|
Gibt die Länge in Bytes eines Listenfeldelements zurück. |
|
Gibt den Index der ersten sichtbaren Zeichenfolge in einem Listenfeld zurück. |
|
Teilt Speicherblöcke für Listenfeldelemente und Zeichenfolgen zu. |
|
Fügt eine Zeichenfolge an einer bestimmten Position in einem Listenfeld ein. |
|
Gibt den Index des Listenfeldelements neben ein Punkt zurück. |
|
Aufgerufen vom Framework ausgelöst, wenn ein Ownerdrawn Listenfeld erstellt wird, um Listenfelddimensionen zu bestimmen. |
|
Löscht alle Einträge von einem Listenfeld. |
|
Suchen und wählt eine Zeichenfolge in einem Liste, die die Einzelauswahl unterstützt, dies aus. |
|
Wählt aus oder wählt einen Bereich von Zeichenfolgen in einem Mehrfachauswahllistenfeld ab. |
|
Legt den Ankerpunkt in einem Mehrfachauswahllistenfeld fest, um eine erweiterte Auswahl zu starten. |
|
Legt das Fokusrechteck auf das Element am angegebenen Index in einem Mehrfachauswahllistenfeld fest. |
|
Legt die Spaltenbreite eines mehrspaltigen Listenfelds fest. |
|
Wählt eine Listenfeldzeichenfolge aus. |
|
Gibt die Breite in Pixel fest, dass ein Listenfeld einen horizontalen Bildlauf durchgeführt werden kann. |
|
Legt den 32-Bit-Wert fest, der mit dem Listenfeldelement zugeordnet ist. |
|
Legt einen Zeiger auf das Listenfeldelement fest. |
|
Gibt die Höhe Elemente in einem Listenfeld fest. |
|
Legt den Gebietsschemabezeichner für ein Listenfeld fest. |
|
Wählt aus oder wählt ein Listenfeldelement in einem Mehrfachauswahllistenfeld ab. |
|
Legt die Tabulationspositionen in einem Listenfeld fest. |
|
Legt den nullbasierten Index der ersten sichtbaren Zeichenfolge in einem Listenfeld fest. |
|
Überschreiben Sie, um von benutzerdefiniertem WM_KEYDOWN, das für Listenfelder mit dem LBS_WANTKEYBOARDINPUT Formatsatz bereitzustellen behandelt. |
Hinweise
Ein Listenfeld zeigt eine Liste von Elementen, wie Dateinamen an, die der Benutzer anzeigen und auswählen kann.
In einem Liste, die die Einzelauswahl unterstützt, dies kann der Benutzer nur ein Element auswählen.In einem Mehrfachauswahllistenfeld kann ein Bereich von Elementen ausgewählt werden.Wenn der Benutzer ein Element auswählt, wird es hervorgehoben und das Listenfeld sendet eine Benachrichtigung zum übergeordneten Fenster.
Sie können ein Listenfeld entweder einer Dialogfeldvorlage oder direkt im Code erstellen.Um diesen direkt zu erstellen, erstellen Sie das CListBox-Objekt, und rufen Sie dann die Erstellen Sie-Memberfunktion auf um das Windows-Listenfeld-Steuerelement zu erstellen und auf CListBox-Objekt anzufügen.So fügen Sie ein Listenfeld in einer Dialogfeldvorlage verwenden, eine Listenfeldvariable in der Dialogfeldklasse deklarieren, DDX_Control in DoDataExchange-Funktion der Dialogfeldklasse nutzen, um die Membervariable an das Steuerelement zu verbinden.(wird automatisch ausgeführt, wenn Sie eine Steuerungsvariable der Dialogfeldklasse hinzufügen.)
Konstruktion kann ein nur einen Schritt umfassender Prozess in einer Klasse sein, die von CListBox abgeleitet wird.Schreiben Sie einen Konstruktor für die abgeleitete Klasse und rufen Sie Create aus dem Konstruktor auf.
Wenn Sie Windows-Benachrichtigungsmeldungen bearbeiten möchten, die durch ein Listenfeld zu seinem übergeordneten Element gesendet werden (normalerweise eine Klasse wird von abgeleitet CDialog-Klasse), fügen Sie eine Meldungszuordnungseintrags- und Meldungshandlermemberfunktion der übergeordneten Klasse für jede Meldung hinzu.
Jeder Eintrag in der Meldungszuordnung weist folgende Form auf:
ON_Notification( id, memberFxn )
wobei id die ID des untergeordneten Fensters des sendenden Listenfeld-Steuerelements angibt, ist die Benachrichtigungen und memberFxn der Name der übergeordneten Memberfunktion, die Sie geschrieben haben, um die Benachrichtigung zu bearbeiten.
Der Funktionsprototyp des übergeordneten Elements ist, wie folgt:
afx_msg void memberFxn( );
Im Folgenden finden Sie eine Liste der möglichen Meldungszuordnungseinträgen und von Beschreibung der Fälle, in denen es zum übergeordneten gesendet werden:
ON_LBN_DBLCLK der Benutzer doppelklickt auf eine Zeichenfolge in einem Listenfeld.Nur ein Listenfeld, das das LBS_NOTIFY Format hat, sendet diese Benachrichtigung.
ON_LBN_ERRSPACE das Listenfeld kann nicht genügend Arbeitsspeicher zuordnen, um die Anforderung zu erfüllen.
ON_LBN_KILLFOCUS das Listenfeld verliert den Eingabefokus.
ON_LBN_SELCANCEL die aktuelle Listenfeld-Auswahl wird abgebrochen.Diese Meldung wird nur gesendet, wenn ein Listenfeld das LBS_NOTIFY Format hat.
ON_LBN_SELCHANGE, das die Auswahl im Listenfeld sich geändert hat.Diese Benachrichtigung wird nicht gesendet, wenn die Auswahl durch die CListBox::SetCurSel-Memberfunktion geändert wird.Diese Benachrichtigung gilt nur für ein Listenfeld zu, das das LBS_NOTIFY Format hat.Die LBN_SELCHANGE Benachrichtigung wird für ein Mehrfachauswahllistenfeld gesendet, wenn der Benutzer eine Pfeiltaste gedrückt wird, auch wenn die Auswahl nicht ändert.
ON_LBN_SETFOCUS das Listenfeld empfängt den Eingabefokus.
ON_WM_CHARTOITEM ein Ownerdrawn Listenfeld, das keine Zeichenfolgen hat, empfängt eine WM_CHAR Meldung.
Ein mit dem Listenfeld ON_WM_VKEYTOITEMLBS_WANTKEYBOARDINPUT Format empfängt eine WM_KEYDOWN Meldung.
Wenn Sie ein CListBox-Objekt innerhalb eines Dialogfelds (durch eine Dialogfeldressource) erstellen, wird das Objekt CListBox automatisch zerstört, wenn der Benutzer das Dialogfeld geschlossen wird.
Wenn Sie ein CListBox-Objekt innerhalb eines Fensters erstellen, müssen Sie möglicherweise das CListBox-Objekt zerstören.Wenn Sie das CListBox-Objekt auf dem Stapel erstellen, wird er automatisch zerstört.Wenn Sie das CListBox-Objekt auf dem Heap erstellen, indem Sie die new-Funktion verwenden, müssen Sie delete für das Objekt aufrufen, um es zu zerstören, wenn der Benutzer das übergeordnete Fenster geschlossen wird.
Wenn Sie einen Arbeitsspeicher im CListBox-Objekt zuordnen, überschreiben Sie den CListBox Destruktor, um die Zuordnung freizugeben.
Vererbungshierarchie
CListBox
Anforderungen
Header: afxwin.h