скрыть раздел в установщике nsis при условии выбора радиокнопок - PullRequest
4 голосов
/ 30 апреля 2011

Как можно условно скрыть раздел при проверке или снятии флажка RadioButtons в диалоговом окне страницы компонентов установщика MUI NSIS.

Я добавил 2 кнопки RadioB, DEMO & BACKUP.

Когда пользователь выбирает DEMO RadioButton, тогда отображаемая секция будет «УСТАНОВИТЬ ДАННЫЕ ИЛИ НЕТ», пользователь может проверить или снять флажок, а раздел «РЕЗЕРВНЫЕ ДАННЫЕ ИЛИ НЕТ» будет скрыт.

Когда пользователь выбирает BACKUP RadioButton, тогда отображаемая секция будет отображаться как «РЕЗЕРВНЫЕ ДАННЫЕ ИЛИ НЕТ», пользователь может их проверять или снимать, а раздел «УСТАНОВИТЬ ДАННЫЕ ИЛИ НЕТ» будет скрыт.

ЕСЛИ Я ИСПОЛЬЗУЮ - - ЗНАК, то раздел «УСТАНОВИТЬ ДАННЫЕ ИЛИ НЕТ» скрыт для ОБОИ ВЫБОР РАДИОБУТТОНА, т. Е. Для ДЕМО также и для ОБНОВЛЕНИЯ, пожалуйста, помогите.

Кроме того, есть функции SelectSection или UnSelectSection, но они не скрывают Раздел, а я хочу, чтобы Раздел был скрыт и не отмечен.

1 Ответ

6 голосов
/ 30 апреля 2011

Скрытый раздел не имеет имени, поэтому вам нужно дать ему имя, чтобы он снова стал видимым:

!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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...