Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Аватара для Stealthmax

Новый участник


Сообщения: 46
Благодарности: 15

Профиль | Цитировать


Подскажите, как добавить событие для 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;

Отправлено: 11:02, 31-03-2014 | #173