Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

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

Пользователь


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

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


Цитата:
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;
Ну и так далее...
А вот как сделать подобное для окна выбора компонентов?

Последний раз редактировалось Mat_y, 20-07-2013 в 23:58.


Отправлено: 23:44, 20-07-2013 | #828