LB_INSERTSTRING メッセージ

リスト ボックスに文字列または項目データを挿入します。 LB_ADDSTRING メッセージとは異なり、LB_INSERTSTRING メッセージでは、LBS_SORT スタイルのリストは並べ替えされません。

パラメーター

wParam

文字列を挿入する位置の 0 から始まるインデックス。 このパラメーターが -1 の場合、リストの末尾に文字列が追加されます。

lParam

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

戻り値

戻り値は、文字列が挿入された位置のインデックスです。 エラーが発生した場合、戻り値はLB_ERR。 新しい文字列を格納するための十分な領域がない場合、戻り値はLB_ERRSPACE。

解説

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

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

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

要件

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

関連項目

参照

LB_ADDSTRING

LB_SELECTSTRING

LB_SETHORIZONTALEXTENT