リスト ボックスのスタイル
CreateWindow または CreateWindowEx 関数を使用してリスト ボックスを作成するには、LISTBOX クラス、適切なウィンドウ スタイル定数、および次のスタイル定数を使用してリスト ボックスを定義します。 コントロールが作成された後、これらのスタイルは、特に説明されている場合を除き、変更できません。
| 常時 | 説明 |
|---|---|
|
リスト ボックスがコンボ ボックスの一部であることを通知します。 これにより、2 つのコントロール間の調整が可能になるため、統合 UI が表示されます。 コンボ ボックス自体でこのスタイルを設定する必要があります。 スタイルがコンボ ボックス以外で設定されている場合、リスト ボックス自体がコンボ ボックスの子と誤って見なされ、エラーが発生します。 |
|
リスト ボックスにスクロールするのに十分な項目が含まれていない場合に、無効になっている水平スクロール バーまたは垂直スクロール バーが表示されます。 このスタイルを指定しない場合、リスト ボックスに十分な項目が含まれていない場合、スクロール バーは非表示になります。 このスタイルは、 WS_VSCROLL または WS_HSCROLL スタイルで使用する必要があります。 |
|
Shift キーとマウスまたは特殊なキーの組み合わせを使用して、複数の項目を選択できるようにします。 |
|
リスト ボックスに文字列で構成される項目が含まれていることを指定します。 リスト ボックスには文字列のメモリとアドレスが保持されるため、アプリケーションは LB_GETTEXT メッセージを使用して特定のアイテムのテキストを取得できます。 既定では、所有者が描画したリスト ボックスを除くすべてのリスト ボックスには、このスタイルがあります。 このスタイルの有無にかかわらず、所有者描画リスト ボックスを作成できます。 このスタイルを持たない所有者描画リスト ボックスの場合、 LB_GETTEXT メッセージはアイテム (アイテム データ) に関連付けられている値を取得します。 |
|
水平方向にスクロールする複数列のリスト ボックスを指定します。 リスト ボックスでは列の幅が自動的に計算されるか、 アプリケーションは LB_SETCOLUMNWIDTH メッセージを使用して幅を設定できます。 リスト ボックスに LBS_OWNERDRAWFIXED スタイルがある場合、アプリケーションは、リスト ボックスが WM_MEASUREITEM メッセージを送信するときに幅を設定できます。 LBS_MULTICOLUMN スタイルのリスト ボックスは、受信したWM_VSCROLLメッセージを無視して垂直方向にスクロールすることはできません。 LBS_MULTICOLUMNスタイルとLBS_OWNERDRAWVARIABLEスタイルを組み合わせることはできません。 両方を指定した場合、 LBS_OWNERDRAWVARIABLE は無視されます。 |
|
ユーザーがリスト ボックス内の文字列をクリックまたはダブルクリックするたびに、文字列の選択をオンまたはオフにします。 ユーザーは任意の数の文字列を選択できます。 |
|
データなしリスト ボックスを指定します。 リスト ボックスの項目数が 1,000 を超える場合は、このスタイルを指定します。 データなしのリスト ボックスには 、LBS_OWNERDRAWFIXED スタイルも必要ですが、 LBS_SORT または LBS_HASSTRINGS スタイルを持つ必要はありません。 データなしリスト ボックスは、アイテムの文字列またはビットマップ データが含まれないことを除き、所有者が描画したリスト ボックスに似ています。 項目を追加、挿入、または削除するコマンドは、指定された項目データを常に無視します。リスト ボックス内の文字列を検索する要求は常に失敗します。 アイテムを描画する必要があるときに、 WM_DRAWITEM メッセージが所有者ウィンドウに送信されます。 WM_DRAWITEM メッセージと共に渡される DRAWITEMSTRUCT 構造体の itemID メンバーは、描画する項目の行番号を指定します。 データなしリスト ボックスでは、 WM_DELETEITEM メッセージは送信されません。 |
|
リスト ボックスのサイズが、リスト ボックスの作成時にアプリケーションによって指定されたサイズと正確に一致することを指定します。 通常、リスト ボックスに部分的な項目が表示されないように、リスト ボックスのサイズが設定されます。 LBS_OWNERDRAWVARIABLE スタイルのリスト ボックスの場合、LBS_NOINTEGRALHEIGHT スタイルは常に適用されます。 |
|
変更が行われたときにリスト ボックスの外観が更新されないことを指定します。 コントロールの再描画状態を変更するには、 WM_SETREDRAW メッセージを使用します。 |
|
リスト ボックスに、表示できる項目と選択できない項目が含まれていることを指定します。 |
|
ユーザーがリスト ボックス項目 (LBN_SELCHANGE) をクリックしたとき、アイテム (LBN_DBLCLK) をダブルクリックしたとき、または選択 (LBN_SELCANCEL) をキャンセルするたびに、リスト ボックスが親ウィンドウに通知コードを送信します。 |
|
リスト ボックスの所有者がその内容を描画し、リスト ボックス内の項目の高さが同じであることを指定します。 所有者ウィンドウは、リスト ボックスの作成時に WM_MEASUREITEM メッセージを受け取り、リスト ボックスの視覚的な側面が変更されたときに WM_DRAWITEM メッセージを受け取ります。 |
|
リスト ボックスの所有者がその内容を描画し、リスト ボックス内の項目の高さが可変であることを指定します。 所有者ウィンドウは、リスト ボックスの作成時にボックス内の各項目の WM_MEASUREITEM メッセージを受け取り、リスト ボックスの視覚的な側面が変更されたときに WM_DRAWITEM メッセージを受け取ります。 このスタイルにより、 LBS_NOINTEGRALHEIGHT スタイルが有効になります。 LBS_MULTICOLUMN スタイルが指定されている場合、このスタイルは無視されます。 |
|
リスト ボックス内の文字列をアルファベット順に並べ替えます。 |
|
リスト ボックス内の文字列をアルファベット順に並べ替えます。 親ウィンドウは、ユーザーがリスト ボックスアイテムをクリックしたとき、アイテムをダブルクリックしたとき、または選択を取り消すたびに通知コードを受け取ります。 リスト ボックスには垂直スクロール バーがあり、すべての辺に罫線が付きます。 このスタイルは、 LBS_NOTIFY、 LBS_SORT、 WS_VSCROLL、 およびWS_BORDER のスタイルを組み合わせたものになります。 |
|
文字列を描画するときに、リスト ボックスでタブ文字を認識および展開できるようにします。 LB_SETTABSTOPSメッセージを使用して、タブ位置を指定できます。 既定のタブ位置は、32 個のダイアログ テンプレート単位で離れています。 ダイアログ テンプレート ユニットは、ダイアログ ボックス テンプレートで使用されるデバイスに依存しない単位です。 ダイアログ テンプレート単位から画面単位 (ピクセル) に測定値を変換するには、 MapDialogRect 関数を使用します。 |
|
ユーザーがキーを押し、リスト ボックスに入力フォーカスがあるときに常に、リスト ボックスの所有者が WM_VKEYTOITEM メッセージを受信することを指定します。 これにより、アプリケーションはキーボード入力に対して特別な処理を実行できます。 |
要件
| 要件 | 値 |
|---|---|
| ヘッダー |
|