2017-10-14 5 views
0

원래 세트 파일에서 어떻게 작업했는지 몇 가지 기능을 수행하는 방법을 묻기 시작했습니다. 그래서 나는 지금 2 가지 질문을 가지고있다. 나는 다른 모든 :) 파악하기 때문에 뒷면에 자신을 두드려NSIS Selections Page

그래서 여기에 좋아

내가 좋아하는 것이 무엇 :

가 키 목록 그래서 아무 스크롤을 할 수 있습니까? 또한 제목을 그대로두고 선택란을 사용할 수 있습니까? (그들은 라디오 버튼이며 제목은 그룹입니다)

요소를 제어 할 수 있도록 사용자 정의 페이지에서 동일한 것을 만드는 방법은 어떻게 될까요? (구성 요소 기능의 마우스 이동 포함)

감사합니다. 코드를 작성해 주시면 감사하겠습니다.

코드 : (그렇습니다! 포함되어있는 앱은 테스트 앱 구매시 모두 필요하지 않습니다. 그래서 앱을 남겨 두었습니다) 또한 확인과 몇 가지 설정이 완료되지 않았습니다. 일.)

!include WinVer.nsh 
!include LogicLib.nsh 
!include x64.nsh 
!include FileFunc.nsh 
!include MUI.nsh 
!include WinMessages.nsh 
!include InstallOptions.nsh 
!include Sections.nsh 

!define MUI_COMPONENTSPAGE_TEXT_TOP "Please select the options that best match your setup and preferances." 
!define MUI_COMPONENTSPAGE_TEXT_COMPLIST " " 
!define MUI_PAGE_HEADER_TEXT "Setup Options" 
!define MUI_PAGE_HEADER_SUBTEXT " " 
!define MUI_COMPONENTSPAGE_smallDESC 
!insertmacro MUI_PAGE_COMPONENTS 

!insertmacro MUI_PAGE_INSTFILES 
!insertmacro MUI_PAGE_FINISH 



!insertmacro MUI_LANGUAGE "English" 


SectionGroup /e "!Sets" SetsTitle #Section Should be Radio Buttons 

    Section "Set 1" Set1 
    SectionEnd 

    Section /o "Set 2" Set2 
    SectionEnd 

    Section /o "Skip" SetSkip 
    SectionEnd 

SectionGroupEnd 


SubSection /e "!Setup" SetupTitle #Section Should be Radio Buttons 

    Section "Setup 1" setup1 
    SectionEnd 

    Section /o "Setup 2" setup2 
    SectionEnd 

    Section /o "None" setupNone 
    SectionEnd 

SubSectionEnd 


SubSection /e "!AutoLoad" ALTitle #Section Should be Radio Buttons 

    Section "Yes" ALYes 
    SectionEnd 

    Section /o "No" ALNo 
    SectionEnd 

SubSectionEnd 

SubSection /e "!Disable Feature" DFTitle #Section Should be Check Boxes 

    Section "Feature 1" DAF1 
    SectionEnd 

    Section "Feature 2" DAF2 
    SectionEnd 

SubSectionEnd 

!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN 
!insertmacro MUI_DESCRIPTION_TEXT ${SetsTitle} "Sets Description" 
!insertmacro MUI_DESCRIPTION_TEXT ${Set1} "Set1 Description" 
!insertmacro MUI_DESCRIPTION_TEXT ${Set2} "Set2 Description" 
!insertmacro MUI_DESCRIPTION_TEXT ${SetSkip} "SetNone Description" 
!insertmacro MUI_FUNCTION_DESCRIPTION_END 


Section -InstallSelectedOptions 

${If} ${SectionIsSelected} ${set1} 
    MessageBox MB_OK|MB_USERICON|MB_TOPMOST "set1" 
${endif} 

${If} ${SectionIsSelected} ${set2} 
    MessageBox MB_OK|MB_USERICON|MB_TOPMOST "set2" 
${endif} 


${If} ${SectionIsSelected} ${setskip} 
    MessageBox MB_OK|MB_USERICON|MB_TOPMOST "setnone" 
${endif} 


${If} ${Setup1} == true 

${endif} 


SectionEnd 

Function .onInit 

    StrCpy $1 ${set1} ; Group 1 - Option 1 is selected by default 
    StrCpy $2 ${setup1} ; Group 2 - Option 1 is selected by default 

FunctionEnd 

Function .onSelChange 
    !insertmacro StartRadioButtons $1 
    !insertmacro RadioButton ${set1} 
    !insertmacro RadioButton ${set2} 
    !insertmacro RadioButton ${setskip} 
    !insertmacro EndRadioButtons 

    !insertmacro StartRadioButtons $2 
    !insertmacro RadioButton ${setup1} 
    !insertmacro RadioButton ${setup2} 
    !insertmacro RadioButton ${setupNone} 
    !insertmacro EndRadioButtons 

FunctionEnd 

답변

2

당신은 내장 된 구성 요소 페이지에서 라디오 버튼과 체크 표시를 결합 할 수 있지만 !define MUI_COMPONENTSPAGE_CHECKBITMAP "myradio.bmp"와 함께 자신 만의 라디오 버튼 .BMP 파일을 사용할 수 있습니다.

당신은 조금 MUI_COMPONENTSPAGE_SMALLDESC 또는 MUI_COMPONENTSPAGE_NODESC을 정의하여 MUI 구성 요소 페이지를 사용자 정의 할 수 있지만, 당신은 당신이 복사하고 수정해야한다는 이상을 필요로하는 경우 "... \ NSIS \있는 contrib \ 사용자 인터페이스 \ modern.exe"Resource HackerMUI_UI과 함께이 사용자 정의 UI를 적용하십시오.

구성 요소 페이지를 사용자 지정 페이지로 복제하는 것도 가능하지만 많은 작업이 필요합니다. nsDialogs는 TreeView 컨트롤에 대한 지원이 많지 않으므로이 경로를 따라 가면 스스로 할 수 있습니다.