0

我是新来的,在 NSIS。我有一个带有一些自定义页面和单选按钮的 nsis 脚本。

我的问题是,当我选择一个单选按钮时,会立即调用该函数。我想要它在“下一步”点击之后。我知道那是因为NSD_OnClick, 但是是另一种选择吗?

这是一些代码:

Function plugins
     nsDialogs::Create 1018
     Pop $Dialog

     ${NSD_CreateLabel} 0 0 100% 16u "Install Plugins?:"

     ${NSD_CreateRadioButton} 20 40 100% 12u "Yes"
         Pop $hwnd
         ${NSD_AddStyle} $hwnd ${WS_GROUP}
         ${NSD_OnClick} $hwnd Yes
     ${NSD_CreateRadioButton} 20 60 100% 12u "No"
         Pop $hwnd
         ${NSD_OnClick} $hwnd No

     nsDialogs::Show
FunctionEnd

Function Yes
     ;Install Plugins...
FunctionEnd
4

1 回答 1

0

您可以在Yes回调中保留单选按钮的状态,然后在自定义页面的离开回调中plugins选择安装或不安装,具体取决于状态。

大致 :

Var isSelected

Function Yes
    StrCpy $isSelected 1
FunctionEnd

Function No
    StrCpy $isSelected 0
FunctionEnd

Function PlunginsLeavePage #<--you need to declare that in the "Page Custom"
    ${if} $isSelected = 1
        ;Install Plugins (this was formerly in the Yes function)
    ${endIf}
FunctionEnd
于 2013-07-29T13:00:49.980 回答