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

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

Новый участник


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

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


Добрый день. Есть такой код:
Код: Выделить весь код
procedure CurPageChanged(CurPageID: Integer);
begin
  // Меняем размеры страницы установки
  if CurPageID=wpInstalling then begin
    WizardForm.MainPanel.Visible:=False;
    WizardForm.Bevel1.Visible:=False;
    WizardForm.Bevel.Visible:=False;
    WizardForm.Width:=ScaleX(625);
    WizardForm.Height:=ScaleY(474);
    WizardForm.Position:=poScreenCenter;
    WizardForm.InnerNotebook.Left:=ScaleX(10);
    WizardForm.InnerNotebook.Top:=ScaleY(0);
    WizardForm.InnerNotebook.Width:=ScaleX(600);
    WizardForm.InnerNotebook.Height:=ScaleY(60);
    WizardForm.OuterNotebook.Width:=ScaleX(625);
    WizardForm.OuterNotebook.Height:=ScaleX(80);
    WizardForm.PageNameLabel.Visible:=True;
    WizardForm.PageNameLabel.BringToFront;
    WizardForm.PageNameLabel.Left:=ScaleX(85);
    WizardForm.PageNameLabel.Top:=ScaleY(10);
    WizardForm.StatusLabel.Left:=ScaleX(85);
    WizardForm.StatusLabel.Top:=ScaleY(30);
    WizardForm.FileNameLabel.Left:=ScaleX(85);
    WizardForm.FileNameLabel.Top:=ScaleY(45);
    WizardForm.FileNameLabel.Width:=ScaleX(515);
    WizardForm.ProgressGauge.Left:=ScaleX(10);
    WizardForm.ProgressGauge.Top:=ScaleY(65);
    WizardForm.ProgressGauge.Width:=WizardForm.InnerNotebook.Width;
    WizardForm.ProgressGauge.Height:=ScaleY(10);
    InitProgressBar(WizardForm.Handle, WizardForm.ProgressGauge.Left, WizardForm.ProgressGauge.Top, WizardForm.ProgressGauge.Width, WizardForm.ProgressGauge.Height, 100, clgray, clwhite);
    WizardForm.CancelButton.Left:=ScaleX(10);
    WizardForm.CancelButton.Top:=ScaleY(7);
  end else if CurPageID=wpFinished then begin
  //Возврат в исходное
    WizardForm.PageNameLabel.Left:=ScaleX(24);
    WizardForm.PageNameLabel.Top:=ScaleY(10);
    WizardForm.Width:=502;
    WizardForm.Height:=392;
    WizardForm.OuterNotebook.Width:=497;
    WizardForm.OuterNotebook.Height:=313;
    WizardForm.Bevel.Visible:=true;
    WizardForm.Position:=poScreenCenter;
    DeinitProgressBar();
  end
end;
Но если оставить все в таком виде, происходит некая дивная вещь. HKLM\software\microsoft\current version\uninstall не прописываются выбранные компоненты (inno setup: selected conponents) а секция эта нужна, для того, чтобы продолжить установку после перезагрузки

В то же время, если убрать первое
Код: Выделить весь код
WizardForm.Position:=poScreenCenter;
То все становится ОК, соответствующие записи в реестра добавляются. Только тогда окно не центрируется и может не влезть в экран. Кто-нибудь может объяснить, как это вообще взаимосвязано? Или как отцентрировать окно другим способом?

Отправлено: 20:23, 15-04-2013 | #192