簡體   English   中英

NSIS有答案嗎?

[英]Is there any answer in NSIS?

您能告訴我如何在歡迎頁面上執行“MUI_LICENSEPAGE_CHECKBOX”之類的操作嗎?

當我單擊復選框時,我會控制事件。

從 MUI 文檔:

頁面自定義功能

...調用show function,可用於自定義接口。

您可以在此回調中添加額外的控件。 對於 MUIv2,這意味着 nsDialogs:

!include LogicLib.nsh
!include MUI2.nsh
!define MUI_PAGE_CUSTOMFUNCTION_SHOW WelcomeShow
!define MUI_PAGE_CUSTOMFUNCTION_LEAVE WelcomeLeave
!insertmacro MUI_PAGE_WELCOME
!define MUI_PAGE_CUSTOMFUNCTION_PRE LicensePre
!insertmacro MUI_PAGE_LICENSE "${__FILE__}"
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH
!insertmacro MUI_LANGUAGE English

Var SkipLicensePage

Function WelcomeShow
${NSD_CreateCheckBox} 120u 150u 90% 12u "Accept license"
Pop $0
SetCtlColors $0 ${MUI_TEXTCOLOR} ${MUI_BGCOLOR}
System::Call 'USER32::SetWindowPos(p$0,p0,i0,i0,i0,i0,i0x33|0x40)' ; Force on top of the existing label
${NSD_SetState} $0 $SkipLicensePage
${NSD_OnClick} $0 WelcomeCheckClicked
FunctionEnd

Function WelcomeLeave
${NSD_GetState} $0 $SkipLicensePage
FunctionEnd

Function WelcomeCheckClicked
Pop $1 ; Throw away
MessageBox mb_ok "You clicked me!"
FunctionEnd

Function LicensePre
${IfThen} $SkipLicensePage <> 0 ${|} Abort ${|}
FunctionEnd

暫無
暫無

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

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