在不使用Tab键的情况下在Windows Mobile中的对话框控件之间移动
时间:2020-03-06 15:03:53 来源:igfitidea点击:
我有一个用C ++ MFC编写的Windows Mobile 5.0应用程序,其中包含许多对话框。我当前定位的其中一个设备没有Tab键,因此我想使用另一个键在控件之间移动。这适用于按钮,但不适用于编辑控件或者组合框。我看过类似的问题,但答案并不适合。我尝试覆盖CDialog :: OnKeyDown无济于事,而不必覆盖每个对话框中每个控件的击键功能。到目前为止,我的想法是编写替代CEdit和CComboBox的新类,但与往常一样,只是检查是否有更简单的方法,例如临时重新编程另一个键。
解决方案
我不知道MFC这么好,但是也许可以通过将所有这些控件的窗口过程子类化为一个类来实现,这只能处理按光标键的情况并将其余事件传递给原始过程。
我们将必须提供自己的机制,以移动到适当的控件上,具体取决于所按下的光标键,但这可能值得增加可用性。
如果可行,我们可以枚举所有对话框控件并自动将其子类化。
Windows Mobile 6默认允许使用光标在对话框控件之间进行切换,这是一种新的,更"智能"的在UI中移动的方式,并且非常方便。
我们不能使用D-Pad在各个字段之间导航吗?