次の方法で共有


コンボ ボックス (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 クラス、適切なウィンドウ スタイル定数、および次のコンボ ボックス スタイルの組み合わせを指定します。