【问题标题】:Moving between dialog controls in Windows Mobile without the tab key在没有 Tab 键的情况下在 Windows Mobile 中的对话框控件之间移动
【发布时间】:2010-09-15 00:35:26
【问题描述】:

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

【问题讨论】:

    标签: c++ windows-mobile mfc windows-ce


    【解决方案1】:

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

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

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

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

    【讨论】:

    • 子类化工作正常,非常感谢。我还没有弄清楚如何自动对所有类似的控件进行子类化,但这将是另一个问题。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-06-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-18
      • 1970-01-01
      相关资源
      最近更新 更多