コンボ ボックスは、シンプル、ドロップダウン、およびドロップダウン リストの 3 つの異なるモードで動作します。ドロップダウン ( CBS_DROPDOWN
) とドロップダウン リスト ( CBS_DROPDOWNLIST
) は視覚的に非常に似ています。唯一の違いは、ドロップダウン リスト スタイルはユーザー入力をドロップダウン リストから使用できるオプションに制限するのに対し、ドロップダウン スタイルはユーザー入力に制限を課さないことです。
キーボード ナビゲーションに関しては、動作が少し異なります。ドロップダウン リスト スタイルでは、Arrow Down
キーを押したときにのみドロップダウン リストが展開されますが、ドロップダウン スタイルでは、キーを使用してドロップダウン リストを展開することもできますArrow Up
。コンボ ボックスの機能にリストされているデフォルトの動作は、WM_KEYDOWN
メッセージがどのように異なる方法で処理されるかを説明しています。
文字以外のキーボード入力を処理します。ドロップダウン リスト ボックスでは、このメッセージはリスト ウィンドウに送信され、それ自体を表示または非表示にしたり、現在の選択またはキャレット インデックスを変更したりできます。単純なドロップダウン コンボ ボックスでは、このメッセージはエディット コントロールに渡されます。エディット コントロールは、上矢印キー、下矢印キー、F4 キーなどの特定のキーをリスト ウィンドウに渡します。
私の質問: このキーボード ナビゲーションの不一致は意図的なものですか? この設計上の決定の背後にある理論的根拠は何ですか? それとも単に実装の見落としですか?