代码之家  ›  专栏  ›  技术社区  ›  fhe

在nsDialogs中处理键盘导航

  •  0
  • fhe  · 技术社区  · 6 年前

    我正在使用nsDialogs在我的应用程序的安装程序中创建一个自定义页面,用户可以在其中选择标准安装和便携式安装。

    为此,我通过创建两个单选按钮控件 NSD_CreateRadioButton 以便用户可以在两种安装模式之间做出选择。

    在收到盲人用户的反馈后,我想增加通过键盘在这两个单选按钮之间导航的可能性。到目前为止,按 选项卡 键直接导航到下部导航栏中的“下一步”按钮,而不是导航到。 上箭头 / 下箭头 没有效果。

    如何使用nsDialogs为键盘导航添加这种可能性?

    2 回复  |  直到 6 年前
        1
  •  1
  •   Anders    6 年前

    如果您使用 ${NSD_Create*} nsDialogs中的宏。nsh然后将为按钮控件设置WS\U TABSTOP样式,您可以 选项卡 对他们来说。但是,选项卡顺序是:对话框中按钮之前的底部按钮。

    分配 access key 允许用户直接访问控件。您可以通过添加一个与(&号)来完成此操作到特定字符前的文本标签:

    ${NSD_CreateRadioButton} 0 13u 100% 15u "Click &Me" ; Activate by pressing Alt+M
    Pop $0
    ${NSD_CreateRadioButton} 0 30u 100% 15u "&Or Me"
    Pop $0
    

    一旦其中一个单选按钮对焦,箭头键也应起作用。如果有多组不相关的单选按钮,则WS\U组样式也在键盘导航中发挥作用。

        2
  •  0
  •   fhe    6 年前

    我通过试验Anders提供的建议,找到了这个问题的解决方案。

    在两次呼叫之间 NSD_CreateRadioButton 我接到另一个电话 NSD_CreateLabel 这显然混淆了两个单选按钮之间的分组。

    当我通过两个后续调用创建单选按钮时 NSD\U CreateRadioButton 然后添加描述标签,导航通过 上箭头 下箭头 作品如果再打电话给 NSD_Create* 在两者之间,它打破了分组。