Freigeben über


LB_INSERTSTRING Nachricht

Fügt Zeichenfolgen- oder Elementdaten in ein Listenfeld ein. Im Gegensatz zur LB_ADDSTRING Nachricht bewirkt die LB_INSERTSTRING Nachricht nicht, dass eine Liste mit der LBS_SORT-Formatvorlage sortiert wird.

Parameter

wParam

Der nullbasierte Index der Position, an der die Zeichenfolge eingefügt werden soll. Wenn dieser Parameter -1 ist, wird die Zeichenfolge am Ende der Liste hinzugefügt.

lParam

Ein Zeiger auf die null-endende Zeichenfolge, die eingefügt werden soll. Wenn das Listenfeld eine vom Besitzer gezeichnete Formatvorlage, aber nicht die LBS_HASSTRINGS Hat, wird dieser Parameter als Elementdaten anstelle einer Zeichenfolge gespeichert. Sie können die LB_GETITEMDATA und LB_SETITEMDATA Nachrichten senden, um die Elementdaten abzurufen oder zu ändern.

Rückgabewert

Der Rückgabewert ist der Index der Position, an der die Zeichenfolge eingefügt wurde. Wenn ein Fehler auftritt, wird der Rückgabewert LB_ERR. Wenn nicht genügend Speicherplatz zum Speichern der neuen Zeichenfolge vorhanden ist, wird der Rückgabewert LB_ERRSPACE.

Bemerkungen

Die LB_INITSTORAGE Meldung hilft, die Initialisierung von Listenfeldern zu beschleunigen, die eine große Anzahl von Elementen (mehr als 100) enthalten. Es reserviert die angegebene Arbeitsspeichermenge, sodass nachfolgende LB_INSERTSTRING Nachrichten so kurz wie möglich dauern. Sie können Schätzungen für die Parameter wParam und lParam verwenden. Wenn Sie überschätzen, wird der zusätzliche Arbeitsspeicher zugewiesen. wenn Sie unterschätzen, wird die normale Zuordnung für Elemente verwendet, die den angeforderten Betrag überschreiten.

Wenn das Listenfeld WS_HSCROLL Stil aufweist und Sie eine Zeichenfolge einfügen, die größer als das Listenfeld ist, senden Sie eine LB_SETHORIZONTALEXTENT Meldung, um sicherzustellen, dass die horizontale Bildlaufleiste angezeigt wird.

Bei einer ANSI-Anwendung konvertiert das System den Text in einem Listenfeld mithilfe von CP_ACP in Unicode. Dies kann zu Problemen führen. Beispielsweise werden römische Zeichen mit Akzent in einem Nicht-Unicode-Listenfeld in japanischen Windows verworren. Um dies zu beheben, kompilieren Sie entweder die Anwendung als Unicode, oder verwenden Sie ein vom Besitzer gezeichnetes Listenfeld.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client)
Windows Vista [nur Desktop-Apps]
Unterstützte Mindestversion (Server)
Windows Server 2003 [nur Desktop-Apps]
Header
Winuser.h (windows.h einschließen)

Weitere Informationen

Referenz

LB_ADDSTRING

LB_SELECTSTRING

LB_SETHORIZONTALEXTENT