4

如何在 MUI NSIS 安装程序组件页面对话框中选中或取消选中 RadioButtons 时有条件地隐藏部分。

我添加了 2 个 RadioButtons、DEMO 和 BACKUP。

当用户选择 DEMO RadioButton 时,显示的部分将是“安装数据或不”,用户可以选中或取消选中,“备份数据或不”部分将被隐藏。

当用户选择 BACKUP RadioButton 时,显示的部分将是“BACKUP DATA OR NOT”,用户可以选中或取消选中,&“INSTALL DATA OR NOT”部分将被隐藏。

如果我使用 - 符号,则“是否安装数据”部分对于 BOTH RADIOBUTTON CHOICES,即 DEMO 和 UPDATE 也是隐藏的,请帮助。

此外,还有 SelectSection 或 UnSelectSection 的功能,但它们不会隐藏 Section,这是我想要的,即 Section 应该被隐藏和取消选中。

4

1 回答 1

6

隐藏部分没有名称,因此您需要为其命名以使其再次可见:

!include Logiclib.nsh
!include Sections.nsh

page Components InitComponentsPage

!define INSTALLSECTIONNAME "Install"
section "" SEC_INSTALL
sectionend

!define BACKUPSECTIONNAME "Backup"
section "" SEC_BACKUP
sectionend

Function InitComponentsPage
${If} $InstallType == BACKUP
    SectionSetText ${SEC_BACKUP} "${BACKUPSECTIONNAME}"
    !insertmacro UnSelectSection ${SEC_INSTALL}
    SectionSetText ${SEC_INSTALL} ""
${Else}
    SectionSetText ${SEC_INSTALL} "${INSTALLSECTIONNAME}"
    !insertmacro UnSelectSection ${SEC_BACKUP}
    SectionSetText ${SEC_BACKUP} ""
${EndIf}
Functionend
于 2011-04-30T16:48:52.060 回答