LB_ADDSTRING メッセージ

リスト ボックスに文字列を追加します。 リスト ボックスに LBS_SORT スタイルがない場合は、リストの末尾に文字列が追加されます。 それ以外の場合は、文字列がリストに挿入され、リストが並べ替えられます。

パラメーター

wParam

このパラメーターは使用されません。

lParam

追加する null で終わる文字列へのポインター。

リスト ボックスに所有者描画スタイルがあり、 LBS_HASSTRINGS スタイルではない場合、このパラメーターは文字列ではなくアイテム データとして格納されます。 LB_GETITEMDATALB_SETITEMDATAメッセージを送信して、アイテム データを取得または変更できます。

戻り値

戻り値は、リスト ボックス内の文字列の 0 から始まるインデックスです。 エラーが発生した場合、戻り値はLB_ERR。 新しい文字列を格納するための十分な領域がない場合、戻り値はLB_ERRSPACE。

解説

リスト ボックスに所有者描画スタイルと LBS_SORT スタイルがあり、 LBS_HASSTRINGS スタイルではない場合は、リスト ボックスの所有者に WM_COMPAREITEM メッセージが 1 回以上送信され、リスト ボックスに新しいアイテムが適切に配置されます。

LB_INITSTORAGE メッセージは、多数の項目 (100 個を超える) を含むリスト ボックスの初期化を高速化するのに役立ちます。 指定された量のメモリを予約して、後続の LB_ADDSTRING メッセージが最短の時間を取るようにします。 wParam パラメーターと lParam パラメーターの推定値を使用できます。 過大評価すると、余分なメモリが割り当てられます。過小評価する場合は、要求された金額を超えるアイテムに対して通常の割り当てが使用されます。

リスト ボックスの スタイルがWS_HSCROLL で、リスト ボックスよりも広い文字列を追加する場合は、 LB_SETHORIZONTALEXTENT メッセージを送信して、水平スクロール バーが表示されるようにします。

ANSI アプリケーションの場合、システムは、CP_ACPを使用してリスト ボックス内のテキストを Unicode に変換します。 これにより、問題が発生する可能性があります。 たとえば、日本語の Windows の Unicode 以外のリスト ボックスでアクセント付きのローマ文字が文字化けして表示されます。 これを修正するには、アプリケーションを Unicode としてコンパイルするか、所有者が描画したリスト ボックスを使用します。

要件

要件
サポートされている最小のクライアント
Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー
Windows Server 2003 [デスクトップ アプリのみ]
ヘッダー
Winuser.h (Windows.h を含む)

関連項目

参照

LB_DELETESTRING

LB_INSERTSTRING

LB_SELECTSTRING

LB_SETHORIZONTALEXTENT

WM_COMPAREITEM