我有两个自定义页面。
在第一个自定义页面中,默认按钮(在<Enter>
上触发)是Next
按钮。
在第二个自定义页面中,我将默认按钮设置为其他按钮:
SendMessage $HWNDPARENT ${DM_SETDEFID} 1221 0
但是当我点击Back
返回第一个自定义页面时,默认按钮不再是Next
(即<Enter>
不再触发Next
。)< / p>
如何将第一个自定义页面中的默认按钮设置回Next
按钮?
我尝试了以下但是它不起作用:
GetDlgItem $1 "$HWNDPARENT" 1
SendMessage $HWNDPARENT ${DM_SETDEFID} $1 0
修改
代码和文件结构实际上很复杂,但我会尝试简化:
Dialog1.nsh
Function fnc_Dialog1_Create
; create dialog controls here
Call SetupDialog1
FunctionEnd
Function SetupDialog1
; create event handlers here
nsDialogs::Show
FunctionEnd
Dialog2.nsh
Function fnc_Dialog2_Create
; create dialog controls here
${NSD_CreateButton} 217.87u 126.15u 78.33u 14.15u "$(TRANSLATED_DLG_BUTTON_TESTCONNECTION)"
Call SetupDialog2
FunctionEnd
Function SetupDialog2
; create event handlers here
; set Default Button (prevent "Install" on <Enter> by setting default button to a different button
SendMessage $HWNDPARENT ${DM_SETDEFID} 1221 0
nsDialogs::Show
FunctionEnd