リスト ボックス スタイル
更新 : 2007 年 11 月
LBS_DISABLENOSCROLL リスト ボックス内の項目が少なく、スクロールする必要がない場合、垂直スクロール バーを使用できない状態で表示します。このスタイルが設定されていないと、項目が少なくてスクロールする必要がない場合、スクロール バーは表示されません。
LBS_EXTENDEDSEL Shift キーとマウス、または特殊なキーを組み合わせて使用して、ユーザーが複数の項目を選択できるようにします。
LBS_HASSTRINGS 文字列で構成される項目を格納するオーナー描画リスト ボックスを指定します。リスト ボックスは文字列に割り当てるメモリやポインタを維持するため、アプリケーションで、GetText メンバ関数を使用して特定の項目のテキストを取得できます。
LBS_MULTICOLUMN 水平にスクロールする複数列のリスト ボックスを指定します。SetColumnWidth メンバ関数は、列の幅を設定します。
LBS_MULTIPLESEL ユーザーが文字列をクリックまたはダブルクリックするたびに、選択されている文字列が切り替わります。文字列はいくつでも選択できます。
LBS_NODATA データを持たないリスト ボックスを指定します。このスタイルは、リスト ボックスに含まれる項目の数が 1,000 を超える場合に指定します。データを持たないリスト ボックスには、LBS_OWNERDRAWFIXED スタイルも設定する必要があります。ただし、LBS_SORT スタイルまたは LBS_HASSTRINGS スタイルは設定しないでください。
データを持たないリスト ボックスは、リスト項目を示す文字列やビットマップなどのデータを含んでいない点を除けば、オーナー描画リスト ボックスと同じです。項目を追加、挿入、または削除するコマンドを実行しても、指定した項目のデータは常に無視されます。また、リスト ボックス内の文字列を検索する要求も必ず失敗します。項目を描画する必要がある場合、オーナー ウィンドウに WM_DRAWITEM メッセージが送信されます。WM_DRAWITEM メッセージで渡された DRAWITEMSTRUCT 構造体の itemID メンバにより、描画する項目の行番号が指定されます。データを持たないリスト ボックスは、WM_DELETEITEM メッセージを送信しません。
LBS_NOINTEGRALHEIGHT リスト ボックスのサイズが、そのリスト ボックスがアプリケーションによって作成されたときの指定サイズと同じになります。通常は、リスト ボックスに表示される項目が一部だけにならないように、Windows によってリスト ボックスのサイズが調整されます。
LBS_NOREDRAW リスト ボックスが変更されても表示内容を更新しません。このスタイルは、WM_SETREDRAW メッセージを送信することにより、いつでも変更できます。
LBS_NOSEL リスト ボックスに、表示できるが選択できない項目が含まれるように指定します。
LBS_NOTIFY ユーザーが文字列をクリックまたはダブルクリックするたびに、親ウィンドウが入力メッセージを受け取ります。
LBS_OWNERDRAWFIXED リスト ボックスのオーナーが、そのリスト ボックスの内容を描画します。リスト ボックス内の項目は、すべて同じ高さで描画されます。
LBS_OWNERDRAWVARIABLE リスト ボックスのオーナーが、そのリスト ボックスの内容を描画します。リスト ボックス内の項目の高さは固定されません。
LBS_SORT リスト ボックス内の文字列をアルファベット順に並べ替えます。
LBS_STANDARD リスト ボックス内の文字列をアルファベット順に並べ替えます。また、ユーザーが文字列をクリックまたはダブルクリックするたびに、親ウィンドウが入力メッセージを受け取ります。リスト ボックスの四辺に境界が表示されます。
LBS_USETABSTOPS リスト ボックスに文字列が描画されるときに、タブ文字が認識および展開されるようにします。既定のタブ位置は、32 ダイアログ単位です。ダイアログ単位は、水平方向または垂直方向の距離を表します。1 水平ダイアログ単位は、現在のダイアログの基本幅の 4 分 1 です。ダイアログの基本単位は、現在のシステム フォントの高さと幅を基準に計算されます。Windows 関数 GetDialogBaseUnits は、現在のダイアログの基本単位をピクセル数で返します。このスタイルは、LBS_OWNERDRAWFIXED と組み合わせて指定しないでください。
LBS_WANTKEYBOARDINPUT リスト ボックスに入力フォーカスがあるときにユーザーがキーを押すと、リスト ボックスのオーナーが WM_VKEYTOITEM または WM_CHARTOITEM メッセージを受け取ります。これにより、キーボード入力に対してアプリケーションが特別な処理を実行できるようになります。