LordVeider Цитата: Вопрос о хитром расположении компонентов до сих пор открыт.
Если я тебя правильно понял то попробуй [more=так]
[Setup]
AppName=My Program
AppVerName=My Program version 1.5
DefaultDirName={pf}\My Program
[Components]
Name: A; Description: Группа А
Name: A\A1; Description: Компонент 1
Name: A\A2; Description: Компонент 2
Name: B; Description: Группа B
Name: B\B1; Description: Группа B1
Name: B\B1\B11; Description: Компонент 1; Flags: exclusive
Name: B\B1\B22; Description: Компонент 2; Flags: exclusive
[Files]
Source: compiler:Examples\MyProg.exe; DestDir: {app}; Check: Check1
Source: compiler:Examples\MyProg.chm; DestDir: {app}; Check: Check2
[_Code]
function Check1: Boolean;
begin
Result:=WizardForm.ComponentsList.ItemEnabled[5] and WizardForm.ComponentsList.Checked[5]
end;
function Check2: Boolean;
begin
Result:=WizardForm.ComponentsList.ItemEnabled[6] and WizardForm.ComponentsList.Checked[6]
end;
procedure OnClickCheck(Sender: TObject);
begin
if WizardForm.ComponentsList.Checked[2] = True then
begin
WizardForm.ComponentsList.ItemEnabled[4]:=True
WizardForm.ComponentsList.ItemEnabled[5]:=True
WizardForm.ComponentsList.ItemEnabled[6]:=True
end else
begin
WizardForm.ComponentsList.ItemEnabled[4]:=False
WizardForm.ComponentsList.ItemEnabled[5]:=False
WizardForm.ComponentsList.ItemEnabled[6]:=False
end
end;
procedure InitializeWizard();
begin
WizardForm.ComponentsList.Checked[2]:=True
WizardForm.ComponentsList.Checked[4]:=True
WizardForm.ComponentsList.OnClickCheck:=@OnClickCheck
end;
[/more]