nsis radiobuttons,不是onclick来调用功能,但点击“下一步”后

时间:2013-07-29 12:21:33

标签: onclick nsis

我是新来的,在这里。我有一个nsis脚本,有一些custompages一个radiobuttons。

我的问题是,当我选择radiobutton时,会立即调用该函数。在“下一步”点击后我想要它。我知道那是因为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

1 个答案:

答案 0 :(得分: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