Listenfeldstile

Wenn Sie mithilfe der Funktionen CreateWindow oder CreateWindowEx ein Listenfeld erstellen möchten, verwenden Sie die LISTBOX-Klasse, die entsprechenden Fensterstilkonstanten und die folgenden Stilkonstanten zum Definieren des Listenfelds. Nach dem Erstellen des Steuerelements können diese Stile nicht geändert werden, sofern nicht anders angegeben.

Konstante Beschreibung
LBS_COMBOBOX
Benachrichtigt ein Listenfeld darüber, dass es zu einem Kombinationsfeld gehört. Dies ermöglicht eine Koordination zwischen den beiden Steuerelementen, sodass sie eine einheitliche Benutzeroberfläche darstellen. Das Kombinationsfeld selbst muss diesen Stil festlegen. Wenn der Stil durch etwas anderes als das Kombinationsfeld festgelegt wird, betrachtet sich das Listenfeld fälschlicherweise als untergeordnetes Element eines Kombinationsfelds, was zu einem Fehler führt.
LBS_DISABLENOSCROLL
Zeigt eine deaktivierte horizontale oder vertikale Bildlaufleiste an, wenn das Listenfeld nicht genügend Elemente zum Scrollen enthält. Wenn Sie diesen Stil nicht angeben, wird die Bildlaufleiste ausgeblendet, wenn das Listenfeld nicht genügend Elemente enthält. Dieser Stil muss mit dem Stil WS_VSCROLL oder WS_HSCROLL verwendet werden.
LBS_EXTENDEDSEL
Ermöglicht die Auswahl mehrerer Elemente mithilfe der UMSCHALTTASTE und der Maus oder mit speziellen Tastenkombinationen.
LBS_HASSTRINGS
Gibt an, dass ein Listenfeld Elemente enthält, die aus Zeichenfolgen bestehen. Das Listenfeld verwaltet den Speicher und die Adressen für die Zeichenfolgen, damit die Anwendung die LB_GETTEXT-Nachricht verwenden kann, um den Text für ein bestimmtes Element abzurufen. Standardmäßig enthalten alle Listenfelder diesen Stil, mit Ausnahme von Ownerdrawn-Listenfeldern. Sie können ein Ownerdrawn-Listenfeld entweder mit diesem oder ohne diesen Stil erstellen.
Bei Ownerdrawn-Listenfeldern ohne diesen Stil ruft die LB_GETTEXT-Nachricht den einem Element zugeordneten Wert (die Elementdaten) ab.
LBS_MULTICOLUMN
Gibt ein mehrspaltiges Listenfeld an, das horizontal gescrollt wird. Das Listenfeld berechnet die Breite der Spalten automatisch, oder eine Anwendung kann die Breite mithilfe der LB_SETCOLUMNWIDTH-Nachricht festlegen. Wenn ein Listenfeld den Stil LBS_OWNERDRAWFIXED aufweist, kann eine Anwendung die Breite festlegen, wenn das Listenfeld die WM_MEASUREITEM-Nachricht sendet.
Ein Listenfeld mit dem Stil LBS_MULTICOLUMN kann nicht vertikal gescrollt werden. Alle empfangenen WM_VSCROLL-Nachrichten werden ignoriert.
Die Stile LBS_MULTICOLUMN und LBS_OWNERDRAWVARIABLE können nicht kombiniert werden. Wenn beide angegeben sind, wird LBS_OWNERDRAWVARIABLE ignoriert.
LBS_MULTIPLESEL
Aktiviert oder deaktiviert die Zeichenfolgenauswahl bei jedem Klicken oder Doppelklicken auf eine Zeichenfolge im Listenfeld. Benutzer*innen können eine beliebige Anzahl von Zeichenfolgen auswählen.
LBS_NODATA
Gibt ein Listenfeld ohne Daten an. Geben Sie diesen Stil an, wenn die Anzahl der Elemente im Listenfeld 1000 überschreitet. Ein Listenfeld ohne Daten muss auch den Stil LBS_OWNERDRAWFIXED aufweisen, darf jedoch nicht die Stile LBS_SORT oder LBS_HASSTRINGS enthalten.
Ein Listenfeld ohne Daten ähnelt einem Ownerdrawn-Listenfeld, enthält allerdings keine Zeichenfolgen- oder Bitmapdaten für ein Element. Befehle zum Hinzufügen, Einfügen oder Löschen eines Elements ignorieren immer jegliche angegebenen Elementdaten; bei Anforderungen zum Suchen einer Zeichenfolge innerhalb des Listenfelds tritt immer ein Fehler auf. Das System sendet die WM_DRAWITEM-Nachricht an das Besitzerfenster, wenn ein Element gezeichnet werden muss. Der itemID-Member der DRAWITEMSTRUCT-Struktur, die mit der WM_DRAWITEM-Nachricht übergeben wird, gibt die Zeilennummer des zu zeichnenden Elements an. Ein Listenfeld ohne Daten sendet keine WM_DELETEITEM-Nachricht.
LBS_NOINTEGRALHEIGHT
Gibt an, dass die Größe des Listenfelds genau der von der Anwendung beim Erstellen des Listenfelds angegebenen Größe entspricht. Normalerweise dimensioniert das System ein Listenfeld so, dass Elemente im Listenfeld nicht nur teilweise angezeigt werden.
Bei Listenfeldern mit dem Stil LBS_OWNERDRAWVARIABLE wird der Stil LBS_NOINTEGRALHEIGHT immer erzwungen.
LBS_NOREDRAW
Gibt an, dass die Darstellung des Listenfelds nicht aktualisiert wird, wenn Änderungen vorgenommen werden.
Um den Zustand für das Neuzeichnen des Steuerelements zu ändern, verwenden Sie die WM_SETREDRAW-Nachricht.
LBS_NOSEL
Gibt an, dass das Listenfeld Elemente enthält, die angezeigt, aber nicht ausgewählt werden können.
LBS_NOTIFY
Bewirkt, dass das Listenfeld einen Benachrichtigungscode an das übergeordnete Fenster sendet, wenn Benutzer*innen auf ein Listenfeldelement klicken (LBN_SELCHANGE), auf ein Element doppelklicken (LBN_DBLCLK) oder die Auswahl abbrechen (LBN_SELCANCEL).
LBS_OWNERDRAWFIXED
Gibt an, dass der Besitzer des Listenfelds für das Zeichnen der Inhalte verantwortlich ist und dass die Höhe der Elemente im Listenfeld gleich ist. Das Besitzerfenster empfängt eine WM_MEASUREITEM-Nachricht, wenn das Listenfeld erstellt wird, und eine WM_DRAWITEM-Nachricht, wenn sich ein visueller Aspekt des Listenfelds geändert hat.
LBS_OWNERDRAWVARIABLE
Gibt an, dass der Besitzer des Listenfelds für das Zeichnen der Inhalte verantwortlich ist und dass die Höhe der Elemente im Listenfeld variabel ist. Das Besitzerfenster empfängt eine WM_MEASUREITEM-Nachricht für jedes Element im Feld, wenn das Listenfeld erstellt wird, und eine WM_DRAWITEM-Nachricht, wenn sich ein visueller Aspekt des Listenfelds geändert hat.
Dieser Stil bewirkt, dass der Stil LBS_NOINTEGRALHEIGHT aktiviert wird.
Dieser Stil wird ignoriert, wenn der Stil LBS_MULTICOLUMN angegeben ist.
LBS_SORT
Sortiert Zeichenfolgen im Listenfeld alphabetisch.
LBS_STANDARD
Sortiert Zeichenfolgen im Listenfeld alphabetisch. Das übergeordnete Fenster empfängt einen Benachrichtigungscode, wenn Benutzer*innen auf ein Listenfeldelement klicken, auf ein Element doppelklicken oder die Auswahl abbrechen. Das Listenfeld enthält eine vertikale Bildlaufleiste und Rahmen an allen Seiten. Dieser Stil kombiniert die Stile LBS_NOTIFY, LBS_SORT, WS_VSCROLL und WS_BORDER.
LBS_USETABSTOPS
Ermöglicht es einem Listenfeld, beim Zeichnen der Zeichenfolgen Tabstoppzeichen zu erkennen und zu verbreitern. Sie können die LB_SETTABSTOPS-Nachricht verwenden, um Tabstopppositionen anzugeben. Die Standardpositionen der Tabstopps sind 32 Einheiten der Dialogfeldvorlage voneinander entfernt. Die Einheiten der Dialogfeldvorlage sind die geräteunabhängigen Einheiten, die in Dialogfeldvorlagen verwendet werden. Verwenden Sie die Funktion MapDialogRect-Funktion, um Maßangaben von Einheiten der Dialogfeldvorlagen in Bildschirmeinheiten (Pixel) zu konvertieren.
LBS_WANTKEYBOARDINPUT
Gibt an, dass der Besitzer des Listenfelds WM_VKEYTOITEM-Nachrichten empfängt, wenn Benutzer*innen eine Taste drücken und das Listenfeld den Eingabefokus hat. Dadurch kann eine Anwendung eine spezielle Verarbeitung für die Tastatureingabe ausführen.

Anforderungen

Anforderung Wert
Header
Winuser.h