组合框以3种不同的模式运行:简单,下拉列表和下拉列表。下拉列表(CBS_DROPDOWN
)和下拉列表(CBS_DROPDOWNLIST
)在视觉上非常相似。唯一的区别是下拉列表样式限制用户输入到下拉列表中可用的选项,而下拉样式不会对用户输入施加任何限制。
关于键盘导航,它们的操作略有不同:虽然下拉列表样式仅在按下Arrow Down
键时展开下拉列表,但Dropdown样式也允许使用Arrow Up
键扩展下拉列表。 Combo Box Features下列出的默认行为说明了WM_KEYDOWN
消息的处理方式不同:
处理非字符键盘输入。在下拉列表框中,此消息将发送到列表窗口,列表窗口可能会显示或隐藏自身,或更改其当前选择或插入符号索引。在简单和下拉组合框中,此消息将传递给编辑控件。编辑控件将某些键传递给列表窗口,例如向上和向下箭头键以及F4键。
我的问题:键盘导航中的这种不一致是否有意,这个设计决策背后的理由是什么,还是只是实施中的疏忽?