在不使用tab键的情况下在Windows Mobile中的对话框控件之间移动

Moving between dialog controls in Windows Mobile without the tab key

本文关键字:对话框 控件 移动 之间 Mobile 情况下 tab Windows      更新时间:2023-10-16

我有一个windows mobile 5.0应用程序,用C++MFC编写,有很多对话框。我目前瞄准的一个设备没有制表键,所以我想使用另一个键在控件之间移动。这适用于按钮,但不适用于编辑控件或组合框。我也考虑过类似的问题,但答案并不十分合适。我尝试过重写CDialog::OnKeyDown,但没有成功,我宁愿不必重写每个对话框中每个控件的击键功能。到目前为止,我的想法是编写新的类来取代CEdit和CComboBox,但和往常一样,我只是检查是否有更简单的方法,比如暂时重新编程另一个键。

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

根据按下的光标键,您必须提供自己的移动到适当控件的机制,但这可能值得获得可用性。

如果这样做有效,您可以枚举所有对话框控件并自动将其子类化。

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

您可以不使用D-Pad在字段之间导航吗?