0

我有一个 Windows Mobile 5.0 应用程序,用 C++ MFC 编写,有很多对话框。我目前的目标设备之一没有 Tab 键,所以我想使用另一个键在控件之间移动。这适用于按钮,但不适用于编辑控件或组合框。我看过一个类似的问题,但答案并不适合。我尝试覆盖 CDialog::OnKeyDown 无济于事,并且宁愿不必覆盖每个对话框中每个控件的击键功能。到目前为止,我的想法是编写新的类来替换 CEdit 和 CComboBox,但一如既往地只是检查是否有更简单的方法,例如临时重新编程另一个键。

4

2 回答 2

1

我不知道 MFC 有多,但也许你可以通过将所有这些控件的窗口过程子类化为一个类来实现它,这只会处理按下光标键的情况并将其余事件传递给原始过程。

您必须提供自己的机制来移动到适当的控件,具体取决于按下的光标键,但它可能值得可用性增益。

如果可行,您可以枚举所有对话框控件并自动将它们子类化。

默认情况下,Windows Mobile 6 允许使用光标在对话框控件之间切换 - 这是一种新的、更“智能”的 UI 移动方式,而且非常方便。

于 2008-10-03T12:49:49.537 回答
-1

您不能使用方向键在字段之间导航吗?

于 2008-10-03T18:50:54.940 回答