コンボ ボックス (Windows コントロール)
このセクションには、コンボ ボックスで使用されるプログラミング要素に関する情報が含まれています。 コンボ ボックス は、リスト ボックスと編集コントロールの多くの機能を組み合わせた、COMBOBOX クラスによって定義される一意の種類のコントロールです。
概要
話題 | 内容 |
---|---|
コンボ ボックスの について | このセクションでは、さまざまな種類のコンボ ボックスについて説明します。 |
コンボ ボックス機能の | このドキュメントでは、コンボ ボックスの機能について説明します。 |
コンボ ボックス を使用した | このセクションのコード例では、コンボ ボックスに関連付けられているタスクを実行する方法を示します。 |
関数
話題 | 内容 |
---|---|
DlgDirListComboBoxの | コンボ ボックスの内容を、指定したディレクトリ内のサブディレクトリとファイルの名前に置き換えます。 ファイル属性のセットを指定することで、名前の一覧をフィルター処理できます。 名前の一覧には、マップされたドライブ文字を含めることができます。 |
DlgDirSelectComboBoxExの |
DlgDirListComboBox 関数を使用して入力されたコンボ ボックスから現在の選択範囲を取得します。 選択は、ドライブ文字、ファイル、またはディレクトリ名として解釈されます。 |
GetComboBoxInfoをする | 指定したコンボ ボックスに関する情報を取得します。 |
マクロ
話題 | 内容 |
---|---|
ComboBox_AddItemData | コンボ ボックス内の指定した位置にあるリストに項目データを追加します。 このマクロを使用することも、CB_ADDSTRING メッセージを明示的に送信することもできます。 |
ComboBox_AddString | コンボ ボックスのリストに文字列を追加します。 コンボ ボックスに CBS_SORT スタイルがない場合は、文字列がリストの末尾に追加されます。 それ以外の場合は、文字列がリストに挿入され、リストが並べ替えられます。 このマクロを使用することも、CB_ADDSTRING メッセージを明示的に送信することもできます。 |
ComboBox_DeleteString | コンボ ボックス内のリスト内の指定した位置にあるアイテムを削除します。 このマクロを使用することも、CB_DELETESTRING メッセージを明示的に送信することもできます。 |
ComboBox_Dir | コンボ ボックスで表示されるリストに名前を追加します。 マクロは、指定された文字列とファイル属性のセットに一致するディレクトリとファイルの名前を追加します。 また、コンボ ボックスのリストにマップされたドライブ文字を追加することもできます。 このマクロを使用することも、CB_DIR メッセージを明示的に送信することもできます。 |
ComboBox_Enable | コンボ ボックス コントロールを有効または無効にします。 |
ComboBox_FindItemData | 指定した項目データを含むコンボ ボックス リスト内の最初の項目を検索します。 このマクロを使用することも、CB_FINDSTRING メッセージを明示的に送信することもできます。 |
ComboBox_FindString | 指定した文字列で始まるコンボ ボックス リスト内の最初の文字列を検索します。 このマクロを使用することも、CB_FINDSTRING メッセージを明示的に送信することもできます。 |
ComboBox_FindStringExact | 検索で大文字と小文字が区別されない点を除き、指定した文字列と完全に一致するコンボ ボックス リスト内の最初の文字列を検索します。 このマクロを使用することも、CB_FINDSTRINGEXACT メッセージを明示的に送信することもできます。 |
ComboBox_GetCount | コンボ ボックスのリスト ボックス内の項目数を取得します。 このマクロを使用することも、CB_GETCOUNT メッセージを明示的に送信することもできます。 |
ComboBox_GetCueBannerText | コンボ ボックスの編集コントロールに表示されるキュー バナー テキストを取得します。 このマクロを使用するか、CB_GETCUEBANNER メッセージを明示的に送信します。 |
ComboBox_GetCurSel | コンボ ボックスで現在選択されている項目のインデックスを取得します。 このマクロを使用することも、CB_GETCURSEL メッセージを明示的に送信することもできます。 |
ComboBox_GetDroppedControlRect | コンボ ボックスの画面座標をドロップダウン状態で取得します。 このマクロを使用することも、CB_GETDROPPEDCONTROLRECT メッセージを明示的に送信することもできます。 |
ComboBox_GetDroppedState | コンボ ボックス コントロールのドロップ リストが表示されているかどうかを確認します。 このマクロを使用することも、CB_GETDROPPEDSTATE メッセージを明示的に送信することもできます。 |
ComboBox_GetExtendedUI | コンボ ボックスが既定のユーザー インターフェイス (UI) または拡張 UI を使用しているかどうかを確認します。 このマクロを使用することも、CB_GETEXTENDEDUI メッセージを明示的に送信することもできます。 |
ComboBox_GetItemData | コンボ ボックス内の指定したリスト アイテムに関連付けられているアプリケーション定義の値を取得します。 このマクロを使用することも、CB_GETITEMDATA メッセージを明示的に送信することもできます。 |
ComboBox_GetItemHeight | コンボ ボックス内のリスト アイテムの高さを取得します。 このマクロを使用することも、CB_GETITEMHEIGHT メッセージを明示的に送信することもできます。 |
ComboBox_GetLBText | コンボ ボックス内のリストから文字列を取得します。 このマクロを使用することも、CB_GETLBTEXT メッセージを明示的に送信することもできます。 |
ComboBox_GetLBTextLen | コンボ ボックス内のリスト内の文字列の長さを取得します。 このマクロを使用することも、CB_GETLBTEXTLEN メッセージを明示的に送信することもできます。 |
ComboBox_GetMinVisible | コンボ ボックスのドロップダウン リストに表示される項目の最小数を取得します。 |
ComboBox_GetText | コンボ ボックス コントロールからテキストを取得します。 |
ComboBox_GetTextLength | コンボ ボックスのテキスト内の文字数を取得します。 |
ComboBox_InsertItemData | コンボ ボックス内の指定した位置にあるリストに項目データを挿入します。 このマクロを使用することも、CB_INSERTSTRING メッセージを明示的に送信することもできます。 |
ComboBox_InsertString | コンボ ボックス内の指定した位置にあるリストに文字列を追加します。 このマクロを使用することも、CB_INSERTSTRING メッセージを明示的に送信することもできます。 |
ComboBox_LimitText | ユーザーがコンボ ボックスの編集コントロールに入力するテキストの長さを制限します。 このマクロを使用することも、CB_LIMITTEXT メッセージを明示的に送信することもできます。 |
ComboBox_ResetContent | リスト ボックスからすべての項目を削除し、コンボ ボックスのコントロールを編集します。 このマクロを使用することも、CB_RESETCONTENT メッセージを明示的に送信することもできます。 |
ComboBox_SelectItemData | コンボ ボックス内のリストで、指定した項目データを含む項目を検索します。 一致する項目が見つかった場合は、その項目が選択されます。 このマクロを使用することも、CB_SELECTSTRING メッセージを明示的に送信することもできます。 |
ComboBox_SelectString | コンボ ボックス内のリストで、指定した文字列内の文字で始まる項目を検索します。 一致する項目が見つかった場合は、その項目が選択されます。 このマクロを使用することも、CB_SELECTSTRING メッセージを明示的に送信することもできます。 |
ComboBox_SetCueBannerText | コンボ ボックスの編集コントロールに表示されるキュー バナー テキストを設定します。 |
ComboBox_SetCurSel | コンボ ボックスで現在選択されている項目を設定します。 このマクロを使用することも、CB_SETCURSEL メッセージを明示的に送信することもできます。 |
ComboBox_SetExtendedUI |
CBS_DROPDOWN または CBS_DROPDOWNLIST スタイルを持つコンボ ボックスの既定のユーザー インターフェイス (UI) または拡張 UI を選択します。 このマクロを使用することも、CB_SETEXTENDEDUI メッセージを明示的に送信することもできます。 |
ComboBox_SetItemData | コンボ ボックス内の指定したリスト アイテムに関連付けられているアプリケーション定義の値を設定します。 このマクロを使用することも、CB_SETITEMDATA メッセージを明示的に送信することもできます。 |
ComboBox_SetItemHeight | コンボ ボックス内のリスト アイテムまたは選択フィールドの高さを設定します。 このマクロを使用することも、CB_SETITEMHEIGHT メッセージを明示的に送信することもできます。 |
ComboBox_SetMinVisible | コンボ ボックスのドロップダウン リストに表示される項目の最小数を設定します。 |
ComboBox_SetText | コンボ ボックスのテキストを設定します。 |
ComboBox_ShowDropdown | コンボ ボックス内のリストを表示または非表示にします。 このマクロを使用することも、CB_SHOWDROPDOWN メッセージを明示的に送信することもできます。 |
メッセージ
話題 | 内容 |
---|---|
CB_ADDSTRING | コンボ ボックスのリスト ボックスに文字列を追加します。 コンボ ボックスに CBS_SORT スタイルがない場合は、文字列がリストの末尾に追加されます。 それ以外の場合は、文字列がリストに挿入され、リストが並べ替えられます。 |
CB_DELETESTRING | コンボ ボックスのリスト ボックス内の文字列を削除します。 |
CB_DIR | コンボ ボックスに表示されるリストに名前を追加します。 メッセージは、指定された文字列とファイル属性のセットに一致するディレクトリとファイルの名前を追加します。
CB_DIR、マップされたドライブ文字をリストに追加することもできます。 |
CB_FINDSTRING | コンボ ボックスのリスト ボックスで、指定した文字列内の文字で始まる項目を検索します。 |
CB_FINDSTRINGEXACT |
lParam パラメーターで指定された文字列と一致するコンボ ボックス内の最初のリスト ボックス文字列を検索します。 |
CB_GETCOMBOBOXINFO | 指定したコンボ ボックスに関する情報を取得します。 |
CB_GETCOUNT | コンボ ボックスのリスト ボックス内の項目数を取得します。 |
CB_GETCUEBANNER | コンボ ボックスの編集コントロールに表示されるキュー バナー テキストを取得します。 このメッセージを明示的に送信するか、ComboBox_GetCueBannerText マクロを使用して送信します。 |
CB_GETCURSEL | アプリケーションは CB_GETCURSEL メッセージを送信して、コンボ ボックスのリスト ボックスで現在選択されている項目のインデックス (存在する場合) を取得します。 |
CB_GETDROPPEDCONTROLRECT | アプリケーションは、ドロップダウン状態のコンボ ボックスの画面座標を取得する CB_GETDROPPEDCONTROLRECT メッセージを送信します。 |
CB_GETDROPPEDSTATE | コンボ ボックスのリスト ボックスをドロップダウンするかどうかを指定します。 |
CB_GETDROPPEDWIDTH |
CBS_DROPDOWN または CBS_DROPDOWNLIST スタイルを持つコンボ ボックスのリスト ボックスの最小許容幅 (ピクセル単位) を取得します。 |
CB_GETEDITSEL | コンボ ボックスのエディット コントロール内の現在の選択範囲の開始位置と終了文字位置を取得します。 |
CB_GETEXTENDEDUI | コンボ ボックスに既定のユーザー インターフェイスと拡張ユーザー インターフェイスのどちらを使用するかを指定します。 |
CB_GETHORIZONTALEXTENT | リスト ボックスを水平方向にスクロールできる幅 (スクロール可能な幅) をピクセル単位で取得します。 これは、リスト ボックスに水平スクロール バーがある場合にのみ適用されます。 |
CB_GETITEMDATA | アプリケーションは、コンボ ボックスに CB_GETITEMDATA メッセージを送信して、コンボ ボックス内の指定された項目に関連付けられたアプリケーション指定の値を取得します。 |
CB_GETITEMHEIGHT | コンボ ボックス内のリスト アイテムまたは選択フィールドの高さを指定します。 |
CB_GETLBTEXT | コンボ ボックスの一覧から文字列を取得します。 |
CB_GETLBTEXTLEN | コンボ ボックスのリスト内の文字列の長さを文字数で取得します。 |
CB_GETLOCALE | コンボ ボックスの現在のロケールを取得します。 ロケールは、CB_ADDSTRING メッセージを使用して CBS_SORT スタイルとテキストが追加されたコンボ ボックスの表示テキストの正しい並べ替え順序を決定するために使用されます。 |
CB_GETMINVISIBLE | コンボ ボックスのドロップダウン リストに表示される項目の最小数を取得します。 |
CB_GETTOPINDEX | アプリケーションは、コンボ ボックスのリスト ボックス部分の最初に表示される項目の 0 から始まるインデックスを取得するために、CB_GETTOPINDEX メッセージを送信します。 最初は、インデックスが 0 の項目はリスト ボックスの上部にありますが、リスト ボックスの内容がスクロールされている場合は、別の項目が一番上にある可能性があります。 |
CB_INITSTORAGE | アプリケーションは、コンボ ボックスのリスト ボックス部分に多数の項目を追加する前に、CB_INITSTORAGE メッセージを送信します。 このメッセージは、リスト ボックス項目を格納するためのメモリを割り当てます。 |
CB_INSERTSTRING | 文字列または項目データをコンボ ボックスの一覧に挿入します。
CB_ADDSTRING メッセージとは異なり、CB_INSERTSTRING メッセージでは、CBS_SORT スタイルのリストは並べ替えされません。 |
CB_LIMITTEXT | ユーザーがコンボ ボックスの編集コントロールに入力するテキストの長さを制限します。 |
CB_RESETCONTENT | リスト ボックスからすべての項目を削除し、コンボ ボックスのコントロールを編集します。 |
CB_SELECTSTRING | コンボ ボックスの一覧で、指定した文字列内の文字で始まる項目を検索します。 一致する項目が見つかった場合は、その項目が選択され、編集コントロールにコピーされます。 |
CB_SETCUEBANNER | コンボ ボックスの編集コントロールに表示されるキュー バナー テキストを設定します。 |
CB_SETCURSEL | アプリケーションは、コンボ ボックスの一覧で文字列を選択する CB_SETCURSEL メッセージを送信します。 必要に応じて、リストは文字列をビューにスクロールします。 コンボ ボックスの編集コントロール内のテキストが変更され、新しい選択範囲が反映され、リスト内の以前の選択範囲が削除されます。 |
CB_SETDROPPEDWIDTH | アプリケーションは、CB_SETDROPPEDWIDTH メッセージを送信して、CBS_DROPDOWN または CBS_DROPDOWNLIST スタイルのコンボ ボックスのリスト ボックスの最大許容幅 (ピクセル単位) を設定します。 |
CB_SETEDITSEL | アプリケーションは CB_SETEDITSEL メッセージを送信して、コンボ ボックスの編集コントロールで文字を選択します。 |
CB_SETEXTENDEDUI | アプリケーションは CB_SETEXTENDEDUI メッセージを送信して、CBS_DROPDOWN または CBS_DROPDOWNLIST スタイルを持つコンボ ボックスの既定の UI または拡張 UI を選択します。 |
CB_SETHORIZONTALEXTENT | アプリケーションは CB_SETHORIZONTALEXTENT メッセージを送信して幅をピクセル単位で設定し、リスト ボックスを水平方向にスクロールできます (スクロール可能な幅)。 リスト ボックスの幅がこの値より小さい場合、水平スクロール バーはリスト ボックス内の項目を水平方向にスクロールします。 リスト ボックスの幅がこの値以上の場合、水平スクロール バーは非表示になります。コンボ ボックスのスタイルが CBS_DISABLENOSCROLL の場合は無効になります。 |
CB_SETITEMDATA | アプリケーションは CB_SETITEMDATA メッセージを送信して、コンボ ボックス内の指定した項目に関連付けられた値を設定します。 |
CB_SETITEMHEIGHT | アプリケーションは CB_SETITEMHEIGHT メッセージを送信して、コンボ ボックス内のリスト アイテムまたは選択フィールドの高さを設定します。 |
CB_SETLOCALE | アプリケーションは、コンボ ボックスの現在のロケールを設定する CB_SETLOCALE メッセージを送信します。 コンボ ボックスに CBS_SORT スタイルがあり、文字列が CB_ADDSTRINGを使用して追加される場合、コンボ ボックスのロケールはリスト アイテムの並べ替え方法に影響します。 |
CB_SETMINVISIBLE | アプリケーションは CB_SETMINVISIBLE メッセージを送信して、コンボ ボックスのドロップダウン リストに表示される項目の最小数を設定します。 |
CB_SETTOPINDEX | アプリケーションは、コンボ ボックスのリスト ボックスに特定の項目が確実に表示されるように、CB_SETTOPINDEX メッセージを送信します。 リスト ボックスの内容がスクロールされ、指定した項目がリスト ボックスの上部に表示されるか、最大スクロール範囲に達しました。 |
CB_SHOWDROPDOWN | アプリケーションは、CBS_DROPDOWN または CBS_DROPDOWNLIST スタイルを持つコンボ ボックスのリスト ボックスを表示または非表示にする CB_SHOWDROPDOWN メッセージを送信します。 |
通知
話題 | 内容 |
---|---|
CBN_CLOSEUP |
CBN_CLOSEUP 通知コードは、コンボ ボックスのリスト ボックスが閉じられたときに送信されます。 コンボ ボックスの親ウィンドウは、WM_COMMAND メッセージを通じてこの通知コードを受け取ります。 |
CBN_DBLCLK |
CBN_DBLCLK 通知コードは、ユーザーがコンボ ボックスのリスト ボックス内の文字列をダブルクリックしたときに送信されます。 コンボ ボックスの親ウィンドウは、WM_COMMAND メッセージを通じてこの通知コードを受け取ります。 |
CBN_DROPDOWN |
CBN_DROPDOWN 通知コードは、コンボ ボックスのリスト ボックスが表示されようとしているときに送信されます。 コンボ ボックスの親ウィンドウは、WM_COMMAND メッセージを通じてこの通知コードを受け取ります。 |
CBN_EDITCHANGE |
CBN_EDITCHANGE 通知コードは、ユーザーがコンボ ボックスの編集コントロール部分のテキストを変更した可能性のあるアクションを実行した後に送信されます。
CBN_EDITUPDATE 通知コードとは異なり、この通知コードは、システムが画面を更新した後に送信されます。 コンボ ボックスの親ウィンドウは、WM_COMMAND メッセージを通じてこの通知コードを受け取ります。 |
CBN_EDITUPDATE |
CBN_EDITUPDATE 通知コードは、コンボ ボックスの編集コントロール部分が変更されたテキストを表示しようとしたときに送信されます。 この通知コードは、コントロールがテキストを書式設定した後、テキストを表示する前に送信されます。 コンボ ボックスの親ウィンドウは、WM_COMMAND メッセージを通じてこの通知コードを受け取ります。 |
CBN_ERRSPACE |
CBN_ERRSPACE 通知コードは、コンボ ボックスが特定の要求を満たすのに十分なメモリを割り当てることができない場合に送信されます。 コンボ ボックスの親ウィンドウは、WM_COMMAND メッセージを通じてこの通知コードを受け取ります。 |
CBN_KILLFOCUS | コンボ ボックスがキーボード フォーカスを失うと、CBN_KILLFOCUS 通知コードが送信されます。 コンボ ボックスの親ウィンドウは、WM_COMMAND メッセージを通じてこの通知コードを受け取ります。 |
CBN_SELCHANGE |
CBN_SELCHANGE 通知コードは、ユーザーがコンボ ボックスのリスト ボックスの現在の選択範囲を変更したときに送信されます。 ユーザーは、リスト ボックス内をクリックするか、方向キーを使用して選択を変更できます。 コンボ ボックスの親ウィンドウは、wParam パラメーターの上位ワードにCBN_SELCHANGEを含む WM_COMMAND メッセージの形式でこの通知を受け取ります。 |
CBN_SELENDCANCEL |
CBN_SELENDCANCEL 通知コードは、ユーザーが項目を選択したときに送信されますが、別のコントロールを選択するか、ダイアログ ボックスを閉じます。 これは、ユーザーの最初の選択が無視されることを示します。 コンボ ボックスの親ウィンドウは、WM_COMMAND メッセージを通じてこの通知コードを受け取ります。 |
CBN_SELENDOK |
CBN_SELENDOK 通知コードは、ユーザーがリスト アイテムを選択するか、アイテムを選択してリストを閉じるときに送信されます。 これは、ユーザーの選択が処理されることを示します。 コンボ ボックスの親ウィンドウは、WM_COMMAND メッセージを通じてこの通知コードを受け取ります。 |
CBN_SETFOCUS | コンボ ボックスがキーボード フォーカスを受け取ると、CBN_SETFOCUS 通知コードが送信されます。 コンボ ボックスの親ウィンドウは、WM_COMMAND メッセージを通じてこの通知コードを受け取ります。 |
WM_COMPAREITEM | システムは、WM_COMPAREITEM メッセージを送信して、所有者が描画したコンボ ボックスまたはリスト ボックスの並べ替えられたリスト内の新しい項目の相対位置を決定します。 アプリケーションが新しい項目を追加するたびに、システムは、CBS_SORT または LBS_SORT スタイルで作成されたコンボ ボックスまたはリスト ボックスの所有者にこのメッセージを送信します。 |
WM_DRAWITEM |
WM_DRAWITEM メッセージは、ボタン、コンボ ボックス、リスト ボックス、またはメニューの視覚的な側面が変更されたときに、所有者が描画したボタン、コンボ ボックス、リスト ボックス、またはメニューの親ウィンドウに送信されます。 |
WM_MEASUREITEM |
WM_MEASUREITEM メッセージは、コントロールまたはメニューの作成時に、コンボ ボックス、リスト ボックス、リスト ビュー コントロール、またはメニュー項目の所有者ウィンドウに送信されます。 |
構造
話題 | 内容 |
---|---|
COMBOBOXINFOをする | コンボ ボックスの状態情報が含まれています。 |
COMPAREITEMSTRUCTの | 並べ替えられた所有者描画リスト ボックスまたはコンボ ボックス内の 2 つの項目の識別子とアプリケーションによって提供されるデータを提供します。 |
DRAWITEMSTRUCTの | 所有者が描画したコントロールまたはメニュー項目を描画する方法を決定するために、所有者ウィンドウに必要な情報を提供します。 所有者描画コントロールまたはメニュー項目の所有者ウィンドウは、WM_DRAWITEM メッセージの lParam パラメーターとして、この構造体へのポインターを受け取ります。 |
MEASUREITEMSTRUCTをする | 所有者が描画したコントロールまたはメニュー項目のディメンションをシステムに通知します。 これにより、システムはコントロールとのユーザー操作を正しく処理できます。 |
定数
話題 | 内容 |
---|---|
コンボ ボックスのスタイル |
CreateWindow または CreateWindowEx関数使用してコンボ ボックスを作成するには、COMBOBOX クラス、適切なウィンドウ スタイル定数、および次のコンボ ボックス スタイルの組み合わせを指定します。 |