nik1967, большое Вам спасибо! Теперь более менее понятно как оно организовано.
Через секцию Components я это уже организовал по Справке, но мне захотелось понять, как это организовать через чекбоксы. Правда я забыл сказать, что из первых трёх чекбоксов должен быть выбран обязательно только какой-то один, а четвёртый по желанию, без привязки к первым трём. Надеюсь я правильно сделал?
Скрытый текст
Код:
[Code_]
var
Check: array [0..3] of TCheckBox;
function Check_0(): Boolean;
begin
Result:= Check[0].Checked;
end;
function Check_1(): Boolean;
begin
Result:= Check[1].Checked;
end;
function Check_2(): Boolean;
begin
Result:= Check[2].Checked;
end;
function Check_3(): Boolean;
begin
Result:= Check[3].Checked;
end;
procedure Check0(Sender: TObject);
begin
if Check[0].Checked then begin
Check[1].Checked:= False;
Check[2].Checked:= False;
end;
if (Check[0].Checked = False) and (Check[1].Checked = False) and (Check[2].Checked = False) then Check[0].Checked:= True;
end;
procedure Check1(Sender: TObject);
begin
if Check[1].Checked then begin
Check[0].Checked:= False;
Check[2].Checked:= False;
end;
if (Check[0].Checked = False) and (Check[1].Checked = False) and (Check[2].Checked = False) then Check[1].Checked := True;
end;
procedure Check2(Sender: TObject);
begin
if Check[2].Checked then begin
Check[0].Checked:= False;
Check[1].Checked:= False;
end;
if (Check[0].Checked = False) and (Check[1].Checked = False) and (Check[2].Checked = False) then Check[2].Checked:= True;
end;
procedure Check3(Sender: TObject);
begin
if Check[3].Checked then
end;
procedure InitializeWizard();
begin
Check[0]:= TCheckBox.Create(WizardForm);
with Check[0] do begin
Parent:= WizardForm.SelectTasksPage;
Checked:= True;
Left:=ScaleX(4);
Top:= ScaleY(90);
Width:=ScaleX(280);
OnClick:= @Check0;
// Будет Win_7.txt
Caption:= ' Стандартные иконки в стиле Win 7';
end;
Check[1]:= TCheckBox.Create(WizardForm);
with Check[1] do begin
Parent:= WizardForm.SelectTasksPage;
Left:=ScaleX(4);
Top:= ScaleY(115);
Width:=ScaleX(280);
OnClick:= @Check1;
// Будет Win_10.txt
Caption:= ' Стандартные иконки в стиле Win 10';
end;
Check[2]:= TCheckBox.Create(WizardForm);
with Check[2] do begin
Parent:= WizardForm.SelectTasksPage;
Left:=ScaleX(4);
Top:= ScaleY(140);
Width:=ScaleX(350);
OnClick:= @Check2;
// Будет Win_10_2.txt
Caption:= ' Станадартные иконки в стиле Win 7 + Win 10';
end;
Check[3]:= TCheckBox.Create(WizardForm);
with Check[3] do begin
Parent:= WizardForm.SelectTasksPage;
Left:=ScaleX(4);
Top:= ScaleY(165);
Width:=ScaleX(280);
OnClick:= @Check3;
// Будет Dop_Win_7.txt
Caption:= ' Дополнительные иконки в стиле Win 7';
end;
end;