gpt4 book ai didi

installation - 使用 nsis 安装程序,添加自定义单选按钮,根据选择的单选按钮调用部分

转载 作者:行者123 更新时间:2023-12-02 23:04:05 25 4
gpt4 key购买 nike

enter image description here

我希望如果没有选择任何单选按钮,那么当按下“下一步”按钮时,它应该发出一个警报,请选择至少一个项目,并且它不应该进入下一个对话框。

另外,我希望如果用户选择选项:更新现有软件,则仅复制一些文件,如果选择另一个单选按钮,则复制所有文件,

这是否可以使用部分或必须使用函数?我可以调用一个部分,例如如果选择 RadioButton 1,则调用 SECTION CREATEALLFILES,否则调用 SECTION CREATEONLYTWOFILES?

据我所知,我想我想要代码如何保存这两个RadioButtons的id并相应地使用它们来调用不同的部分或函数。代码是什么?请帮忙?

此外,在此页面上按“下一步”后,下一个对话框将如下图所示:我想显示一个标签,无论演示是否完成,或者更新正在运行,为此我将使用 Resource Hacker 添加一个标签,但如何根据RadioButton的用户选择显示该标签并隐藏它 enter image description here

最佳答案

您可以选择/取消选择部分,或者只是将逻辑放在一个部分中,此示例同时执行这两个操作:

!include nsDialogs.nsh
!include Sections.nsh

var InstallType

Section
#Install common files...
${If} $InstallType == DEMO
#Do demo specific stuff
${Else}
#Do update specific stuff
${EndIf}
SectionEnd

Section "" SEC_DEMO
#Install demo..
SectionEnd

Section "" SEC_UPDATE
#Do update..
SectionEnd

Page custom InstTypePageCreate InstTypePageLeave

Function InstTypePageCreate
nsDialogs::Create 1018
pop $0
${NSD_CreateRadioButton} 0 50u 100% 10u "Demo"
pop $1
${IfThen} $InstallType == DEMO ${|} ${NSD_Check} $1 ${|}
${NSD_CreateRadioButton} 0 70u 100% 10u "Update"
pop $2
${IfThen} $InstallType == UPDATE ${|} ${NSD_Check} $2 ${|}
nsDialogs::Show
FunctionEnd

Function InstTypePageLeave
${NSD_GetState} $1 $0
${If} $0 = ${BST_CHECKED}
StrCpy $InstallType DEMO
!insertmacro UnselectSection ${SEC_UPDATE}
!insertmacro SelectSection ${SEC_DEMO}
${Else}
${NSD_GetState} $2 $0
${If} $0 = ${BST_CHECKED}
StrCpy $InstallType UPDATE
!insertmacro UnselectSection ${SEC_DEMO}
!insertmacro SelectSection ${SEC_UPDATE}
${Else}
MessageBox MB_ICONSTOP "You must select something!"
Abort
${EndIf}
${EndIf}
FunctionEnd

要设置下一页上的文本,只需在测试 $InstallType 的 if block 中使用 ${NSD_SetText} $hwndYourLabel "Text" 和 ShowWindow (此代码需要位于 show 函数中)该页面的回调(MUI_PAGE_CUSTOMFUNCTION_SHOW))

关于installation - 使用 nsis 安装程序,添加自定义单选按钮,根据选择的单选按钮调用部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5815486/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com