My Installer have 3 checkboxs.
Checkbox1 belong to Page1
Checkbox2 belong to Page2
Checkbox3 belong to Page2
How to remember Checkbox2 and Checkbox3 state when the Back button clicked (back from page2 to page1) ?.
This is code:
Var /GLOBAL CheckBox1
Var /GLOBAL CheckBox1_State
Var /GLOBAL CheckBox2
Var /GLOBAL CheckBox2_State
Var /GLOBAL CheckBox3
Var /GLOBAL CheckBox3_State
!include MUI2.nsh
Page custom Page1_Show
Page custom Page2_Show Page2_Leave
Page custom Page3_Show
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_LANGUAGE English
Section 'A'
SectionEnd
Function .onInit
StrCpy $CheckBox2_State ${BST_CHECKED} ; Set initial/default state
StrCpy $CheckBox3_State ${BST_UNCHECKED} ; Set initial/default state
FunctionEnd
Function Page1_Show
Call Page1_Create
GD::Show
FunctionEnd
Function Page2_Show
Call Page2_Create
GD::Show
FunctionEnd
Function Page3_Show
Call Page3_Create
GD::Show
FunctionEnd
Function Page2_Leave
${NSD_GetState} $CheckBox2 $CheckBox2_State
${NSD_GetState} $CheckBox3 $CheckBox3_State
FunctionEnd
!macro PAGE1
Function Page1_Create
GetDlgItem $R0 $HWNDPARENT 1 #next/install button
EnableWindow $R0 0
GD::Create 1044
Pop $1
${If} $1 == error
Abort
${EndIf}
${NSD_CreateCheckbox} 105.32u 100u 217.22u 10.77u 'CheckBox1'
Pop $CheckBox1
${NSD_OnClick} $CheckBox1 CheckBox1_Click
FunctionEnd
Function CheckBox1_Click
${NSD_GetState} $CheckBox1 $CheckBox1_State
${If} $CheckBox1_State == ${BST_CHECKED}
GetDlgItem $R0 $HWNDPARENT 1
EnableWindow $R0 1
${Else}
GetDlgItem $R0 $HWNDPARENT 1
EnableWindow $R0 0
${EndIf}
FunctionEnd
!macroend
!insertmacro PAGE1
!macro PAGE2
Function Page2_Create
GD::Create 1044
Pop $1
${If} $1 == error
Abort
${EndIf}
${NSD_CreateCheckbox} 106.63u 62u 217.22u 14.77u 'CheckBox2'
Pop $CheckBox2
${NSD_SetState} $CheckBox2 $CheckBox2_State
${NSD_CreateCheckbox} 106.63u 74u 217.22u 14.77u 'CheckBox3'
Pop $CheckBox3
${NSD_SetState} $CheckBox3 $CheckBox3_State
FunctionEnd
!macroend
!insertmacro PAGE2
!macro PAGE3
Function Page3_Create
GD::Create 1044
Pop $1
${If} $1 == error
Abort
${EndIf}
FunctionEnd
!macroend
!insertmacro PAGE3