Вопрос Отображение текста в зависимости от чекбокса

zettend

Старожил
У меня есть два чекбокса типа "DX, VCR" мне нужно что-бы в зависимости от выбранного чека отображался текст после надписи: "Будет установлено:".
Например если выбран "DX", то "Будет установлено: DirectX"
Если выбраны "DX, VCR", то "Будет установлено: DirectX, VCRedist".

Как осуществить?
 

vint56

Ветеран
Проверенный
Incorrect,
[Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application

Код:
var
  LabelDX,Labelvcr,Labelall: TLabel;
  DX,VCR: TNewCheckBox;

function DirectXCheck: Boolean;
begin
 Result := DX.Checked;
end;

function MicrosoftVisualCheck: Boolean;
begin
 Result := VCR.Checked;
end;

 procedure DXOnClick(Sender: TObject);
begin
  if DX.Checked = True then
  begin
  LabelDX.Caption := 'Будет установлено: DirectX 9';
  LabelDX.Show
  end else begin
  if DX.Checked = False then
  LabelDX.Hide;
  end;
  if VCR.Checked = True then
  begin
  Labelvcr.Caption := 'Будет установлено: Microsoft Visual C++ 2005';
  Labelvcr.Show
  end else begin
  if VCR.Checked = False then
  Labelvcr.Hide;
  end;
  if DX.Checked and VCR.Checked = True then
  begin
  LabelDX.Hide;
  Labelvcr.Hide;
  Labelall.Show;
  Labelall.Caption := 'Будет установлено: DirectX 9 и Microsoft Visual C++ 2005';
  end else begin
  if DX.Checked and VCR.Checked = False then
  begin
  Labelall.Hide;
end;
end;
end;

procedure InitializeWizard();
begin
  LabelDX := TLabel.Create(WizardForm);
  with LabelDX do
  begin
    Parent := WizardForm.SelectDirPage;
    Left := ScaleX(120);
    Top := ScaleY(132);
    Width := ScaleX(111);
    Height := ScaleY(13);
  end;
  Labelvcr := TLabel.Create(WizardForm);
  with Labelvcr do
  begin
    Parent := WizardForm.SelectDirPage;
    Left := ScaleX(120);
    Top := ScaleY(152);
    Width := ScaleX(103);
    Height := ScaleY(13);
  end;
  Labelall := TLabel.Create(WizardForm);
  with Labelall do
  begin
    Parent := WizardForm.SelectDirPage;
    Left := ScaleX(120);
    Top := ScaleY(152);
    Width := ScaleX(103);
    Height := ScaleY(13);
  end;
  DX := TNewCheckBox.Create(WizardForm);
  with DX do
  begin
    Parent := WizardForm.SelectDirPage;
    Left := ScaleX(24);
    Top := ScaleY(128);
    Width := ScaleX(65);
    Height := ScaleY(17);
    Caption := 'DirectX';
    OnClick := @DXOnClick;
  end;
  VCR := TNewCheckBox.Create(WizardForm);
  with VCR do
  begin
    Parent := WizardForm.SelectDirPage;
    Left := ScaleX(24);
    Top := ScaleY(152);
    Width := ScaleX(65);
    Height := ScaleY(17);
    Caption := 'VCRedist';
    OnClick := @DXOnClick;
  end;
end;

[/SPOILER]
 
Сверху