簡體   English   中英

NSIS:StateChanged上的自定義頁面

[英]NSIS: Custom page on StateChanged

我有一些帶有復選框的不同許可證頁面。 如果未選中該復選框,則應禁用“ Next按鈕。 如果復選框狀態更改,是否可以使用一個事件? 這是我的其中之一的代碼

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許可證頁面支持一個復選框,可以多次使用,但是如果您堅持創建自定義頁面,則只需添加on *處理程序即可:

!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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM