Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Installation NSIS:状态更改上的自定义页_Installation_Nsis - Fatal编程技术网

Installation NSIS:状态更改上的自定义页

Installation NSIS:状态更改上的自定义页,installation,nsis,Installation,Nsis,我有一些不同的许可证页面,上面有复选框。如果未选中复选框,则应禁用“下一步”按钮。如果复选框状态更改,是否有可以使用的事件?这是我的一个密码 var Window var labelDescription var checkBoxIsUserAgree Function CreateCustomLicense1 nsDialogs::Create 1018 Pop $Window GetDlgItem $0 $HWNDPARENT EnableWindow $0 0 ${

我有一些不同的许可证页面,上面有复选框。如果未选中复选框,则应禁用“下一步”按钮。如果复选框状态更改,是否有可以使用的事件?这是我的一个密码

var Window
var labelDescription
var checkBoxIsUserAgree

Function CreateCustomLicense1
  nsDialogs::Create 1018
  Pop $Window

  GetDlgItem $0 $HWNDPARENT
  EnableWindow $0 0
  ${NSD_CreateLabel} 13u 22u 270u 96u "Description"
  Pop $labelDescription
  ${NSD_CreateCheckBox} 10u 110u 100u 15u "I Agree"
  $checkBoxIsUserAgree
FunctionEnd

Function ShowCustomLicence1
  Call CreateCustomLicense1
  nsDialogs::Show
Function

Function .oncheckBoxIsUserAgreeStateChanged ; what event I can use for track checkbox state changing
 EnableWindow $0 1
FunctionEnd

内置NSIS许可证页面支持复选框,可以多次使用,但如果坚持创建自定义页面,则只需添加处理程序:


内置NSIS许可证页面支持复选框,可以多次使用,但如果坚持创建自定义页面,则只需添加处理程序:


如果您发布实际编译的代码,它会有所帮助!首先阅读文档可能也是一个好主意…@Anders我试图在文档中找到答案,但我发现了一些问题。我认为应该是.onSelectedChanged作为全局页面。我无法想象我可以使用${NSD_u……}作为函数。谢谢!NSD是帮助宏,有些只是调用nsDialogs::xyz…如果您发布实际编译的代码,它会很有帮助!首先阅读文档可能也是一个好主意…@Anders我试图在文档中找到答案,但我发现了一些问题。我认为应该是.onSelectedChanged作为全局页面。我无法想象我可以使用${NSD_u……}作为函数。谢谢!NSD是帮助宏,有些只是调用nsDialogs::xyz。。。
!include nsDialogs.nsh

Var checkBoxIsUserAgree

Function ShowCustomLicence1
  nsDialogs::Create 1018
  Pop $1

  GetDlgItem $0 $HWNDPARENT 1
  EnableWindow $0 0
  ${NSD_CreateLabel} 13u 22u 270u 90u "Description"
  Pop $1
  ${NSD_CreateCheckBox} 10u 110u 100u 15u "I Agree"
  Pop $checkBoxIsUserAgree
  ${NSD_OnClick} $checkBoxIsUserAgree oncheckBoxIsUserAgreeStateChanged1

  nsDialogs::Show
FunctionEnd


Function oncheckBoxIsUserAgreeStateChanged1
  Pop $1 ; Throw away parameter
  ${NSD_GetState} $checkBoxIsUserAgree $1
  EnableWindow $0 $1
FunctionEnd

Page Custom ShowCustomLicence1
Page InstFiles