1

组合框以 3 种不同的模式运行:简单、下拉和下拉列表。Dropdown ( CBS_DROPDOWN) 和 Dropdown List ( CBS_DROPDOWNLIST) 在视觉上非常相似。唯一的区别是下拉列表样式将用户输入限制为下拉列表中可用的选项,而下拉列表样式不对用户输入施加任何限制。

关于键盘导航,它们的操作略有不同:虽然 Dropdown List 样式仅在按下Arrow Down键时展开下拉列表,但 Dropdown 样式还允许使用Arrow Up键来展开下拉列表。组合框功能下列出的默认行为说明了如何WM_KEYDOWN以不同方式处理消息:

处理非字符键盘输入。在下拉列表框中,此消息被发送到列表窗口,它可以显示或隐藏自身,或更改其当前选择或插入索引。在简单的下拉组合框中,此消息被传递给编辑控件。编辑控件将某些键传递给列表窗口,例如向上和向下箭头键和 F4 键。

我的问题:键盘导航中的这种不一致是故意的吗?这个设计决策背后的基本原理是什么,还是仅仅是实施过程中的疏忽?

4

0 回答 0