我使用nsDialogs在我的应用程序的安装程序中创建自定义页面,用户可以在标准和便携式安装之间做出决定。
为此,我通过NSD_CreateRadioButton
创建了两个单选按钮控件,以便用户可以决定两种安装模式。
在收到盲人用户的反馈后,我想增加在这两个单选按钮之间通过键盘导航的可能性。到目前为止,按 Tab 键直接导航到下方导航栏中的下一个按钮,而不是导航栏。 向上箭头 / 向下箭头无效。
如何使用nsDialogs为键盘导航添加这种可能性?
答案 0 :(得分:1)
如果在nsDialogs.nsh中使用${NSD_Create*}
宏,则将为按钮控件设置WS_TABSTOP样式,并且可以 Tab 。但是,Tab键顺序为:对话框中按钮前的底部按钮。
指定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_GROUP样式也会在键盘导航中起作用。
答案 1 :(得分:0)
通过试验@Anders提供的建议,我找到了解决这个问题的方法。
在两次拨打NSD_CreateRadioButton
之间,我又拨打了NSD_CreateLabel
,这显然混淆了两个单选按钮之间的分组。
当我通过对NSD_CreateRadioButton
的两次后续调用创建单选按钮然后添加描述标签时,通过向上箭头和向下箭头进行导航。如果之间有另一个NSD_Create*
的来电,则会中断分组。