Подскажите, как добавить событие для ShowButton, чтобы при нажатии выполнялось действие показать/скрыть панель и сохранялось событие чекбокса при изменении и закрытии панели.
читать дальше »
Код:

#define MyAppName "My Program"
#define MyAppVersion "1.5"
#define MyAppPublisher "My Company, Inc."
#define MyAppExeName "MyProg.exe"
[Setup]
AppName={#MyAppName}
AppVersion={#MyAppVersion}
AppPublisher={#MyAppPublisher}
DefaultDirName={pf}\{#MyAppName}
DefaultGroupName={#MyAppName}
OutputBaseFilename=setup
ShowLanguageDialog=no
Compression=lzma
SolidCompression=yes
[Languages]
Name: "default"; MessagesFile: "compiler:Default.isl"
Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl"
[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
[Files]
Source: "Examples\MyProg.exe"; DestDir: "{app}"; Flags: ignoreversion
[Icons]
Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon
[Run]
Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent
[_Code]
var
SettingPanel: TPanel;
One: TNewCheckBox;
Two: TNewCheckBox;
ShowButton: TNewButton;
procedure ShowButtonClick(Sender: TObject); forward;
procedure RedesignWizardForm;
begin
{ SettingPanel }
SettingPanel := TPanel.Create(WizardForm);
with SettingPanel do
begin
Name := 'SettingPanel';
Parent := WizardForm.WelcomePage;
Left := ScaleX(168);
Top := ScaleY(0);
Width := ScaleX(329);
Height := ScaleY(314);
Visible := False;
Caption := '';
end;
{ One }
One := TNewCheckBox.Create(WizardForm);
with One do
begin
Name := 'One';
Parent := SettingPanel;
Left := ScaleX(8);
Top := ScaleY(24);
Width := ScaleX(97);
Height := ScaleY(17);
Checked := True;
State := cbChecked;
Visible := False;
end;
{ Two }
Two := TNewCheckBox.Create(WizardForm);
with Two do
begin
Name := 'Two';
Parent := SettingPanel;
Left := ScaleX(8);
Top := ScaleY(48);
Width := ScaleX(97);
Height := ScaleY(17);
Checked := True;
State := cbChecked;
Visible := False;
end;
One.TabOrder := 0;
Two.TabOrder := 1;
SettingPanel.TabOrder := 2;
{ ShowButton }
ShowButton := TNewButton.Create(WizardForm);
with ShowButton do
begin
Name := 'ShowButton';
Parent := WizardForm;
Left := ScaleX(16);
Top := ScaleY(325);
Width := ScaleX(75);
Height := ScaleY(25);
Caption := 'Show';
OnClick := @ShowButtonClick;
end;
ShowButton.TabOrder := 5;
end;
procedure ShowButtonClick(Sender: TObject);
begin
SettingPanel.Visible := True;
One.Visible := True;
Two.Visible := True;
ShowButton.Caption := 'Hide';
end;
procedure InitializeWizard();
begin
RedesignWizardForm;
end;
procedure CurPageChanged(CurPageID: Integer);
begin
if CurPageID = wpWelcome then SettingPanel.Visible := False;
end;