2011-04-30 54 views
2

如何在MUI NSIS安裝程序組件頁面對話框中檢查或取消選中RadioButton時有條件地隱藏節。根據選擇的單選按鈕有條件地隱藏部分

我已添加2個RadioButtons,DEMO &備份。

當用戶選擇DEMO RadioButton時,則顯示的部分將是「INSTALL DATA OR NOT」,它可以被用戶選中或取消選中,&「BACKUP DATA OR NOT」部分將被隱藏。

當用戶選擇,BACKUP單選按鈕,然後顯示科將「備份數據OR NOT」,可以檢查或由用戶選中,&「安裝數據OR NOT」部分將被隱藏。

如果我使用 - 符號,那麼「安裝數據或非」部分對於雙方的無線電選擇都是隱藏的,即對於更新的DEMO也是&,請幫助。

此外,還有SelectSection或UnSelectSection的功能,但它們不隱藏Section,這是我想要的,該部分應該隱藏和未選中。

回答

4

隱藏的部分還沒有名字,所以你需要給它一個名字爲它再次變爲可見:

!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 
+0

主席先生,我想跳過組件頁面,如果$將InstallType == DEMO,怎麼辦我這樣做? – sqlchild 2011-06-20 05:46:53

+2

@sqlchild:要跳過頁面,請在頁面預回調函數中調用Abort – Anders 2011-06-20 15:52:00

相關問題