Цитата:
Mat_y, а стандартый [Components] чем не устраивает?
|
Не ребят, Вы меня не поняли... это все логично и понятно... но вот есть окна в установщике... приветствие, выбор директории установки, далее обычно идет выбор компонентов установки, и потом уже окно с ходом установки. Я использовал готовый скрипт и модифицировал его, но там нету окна с выбором компонентов... мне удалось добавить недостающее окно между выбором директории и установкой, но вот как сказать в CODE установщику, что это именно нужное для компонентов окно и как разместить там само поле с выбором программ, я не догоняю.
Вот окно приветствия:

Вот выбор директории:

И установка:
Я продублировал окно с выбором директории... изменил все переменные, убрал лишнее... а вот как туда вставить поле с выбором компонентов... сижу, второй день туплю.
ВОТ пример создания старницы выбора директории:
1) Создаются кнопки, выбор директории, назад, далее:
Код:

procedure DirBrowseBtnClick(h:HWND);
begin
WizardForm.DirBrowseButton.OnClick(WizardForm.DirBrowseButton);
AppLabel.Caption:=WizardForm.DirEdit.Text;
AppLabel2.Caption:=WizardForm.DirEdit.Text;
end;
procedure BackBtnClick(h:HWND);
begin
WizardForm.BackButton.OnClick(WizardForm.BackButton);
end;
procedure OKBtnClick(h:HWND);
begin
WizardForm.NextButton.OnClick(WizardForm.NextButton);
begin HideWelcomePage; HideSelectDirPage; ShowSelectComponentsPage;
end;
end;
2) Добавляется видео: (CreateSelectDirPage будет относится ко всему ниже... просто разобью на куски код)
Код:

procedure CreateSelectDirPage;
begin
if CanUseXvid then begin
vPanel2:=TPanel.Create(WizardForm);
with vPanel2 do begin
Visible:=False;
Parent:=WizardForm;
SetBounds(32,32,704,272);
end;
mciSendString('open '+ExpandConstant('{tmp}\vid_instdir.avi')+' alias sdVideo parent '+IntToStr(vPanel2.Handle)+' style child','',0,0);
mciSendString('put sdVideo window at 0 0 704 272','',0,0);
end;
3) Добавляем фоновую картинку, которая будет рамкой окна и в него вписываем путь установки:
Код:

BkgImg2:=ImgLoad(WizardForm.Handle,ExpandConstant('{tmp}\pbbkg.png'),28,347,0,0,False,True);
AppLabel2:=TLabel.Create(WizardForm);
with AppLabel2 do begin
Parent:=WizardForm;
Transparent:=True;
Caption:=WizardForm.DirEdit.Text;
with Font do begin
Name:=FontName;
Size:=11;
Color:=clBlack;
end;
Left:=59;
Top:=364;
end;
AppLabel:=TLabel.Create(WizardForm);
with AppLabel do begin
Parent:=WizardForm;
Transparent:=True;
Caption:=WizardForm.DirEdit.Text;
with Font do begin
Name:=FontName;
Size:=11;
Color:=$e5e5e5;
end;
Left:=57;
Top:=362;
end;
Ну и так далее...
А вот как сделать подобное для окна выбора компонентов?