Вопрос Расположение текста

Veskella

Мимокрокодил
Ребята, здравствуйте! Подскажите, пожалуйста, как изменить расположение текста на странице приветствия и странице завершения установки (конкретно, поставить по центру)? У меня самый обычный инсталлятор, я не использую растягивание картинок и т.п. Нужно лишь, чтобы "Вас приветствует Мастер уничтожения Ваших мозгов бла-бла-бла" было по центру, а не лепилось, как обычно, по левому краю от картинки (той, что 164*314). Поиском по сайту нашёл эту тему (непосредственно пост от GVS276 в самом низу) но при попытке вставить код компилятор выдаёт "Uknown identifier 'WelcomeLabel1'". В общем, пожалуйста, напишите пошагово, что и в какую секцию вставлять.)
P.S. Не знаю, как вылепить спойлер, но, если нужно, могу выложить в посте свой скрипт (не стал сразу этого делать ибо, повторюсь, он предельно стандартный).
 

Avengerz13

Участник
Veskella, Штатные лейблы не поддерживают свойство
Код:
Alignment:= taCenter;
Поэтому придеться создать новые лейблы а старые скрыт.
Код:
[Setup]
AppName=Example
AppVersion=1.0
CreateAppDir=False
DisableWelcomePage=No

[Code]
var
  Label1: TLabel;
  Label2: TLabel;
  Label3: TLabel;
  Label4: TLabel;

procedure InitializeWizard;
begin
  Label1 := TLabel.Create(WizardForm);
  with Label1 do
  begin
    Parent := WizardForm.WelcomePage;
    Alignment := taCenter;
    Caption := WizardForm.WelcomeLabel1.Caption;
    Font.Color := clBlack;
    Font.Height := -15;
    Font.Name := 'Verdana';
    Font.Style := [fsBold];
    ParentFont := False;
    Left := ScaleX(176);
    Top := ScaleY(16);
    Width := ScaleX(301);
    Height := ScaleY(55);
    AutoSize:= False;
    WordWrap:= True;
    Alignment:= taCenter;
  end;

  Label2 := TLabel.Create(WizardForm);
  with Label2 do
  begin
    Parent := WizardForm.WelcomePage;
    Caption := WizardForm.WelcomeLabel2.Caption;
    Left := ScaleX(176);
    Top := ScaleY(71);
    Width := ScaleX(301);
    Height := ScaleY(239);
    AutoSize:= False;
    WordWrap:= True;
    Alignment:= taCenter;
  end;

  Label3 := TLabel.Create(WizardForm);
  with Label3 do
  begin
    Parent := WizardForm.FinishedPage;
    Alignment := taCenter;
    Caption := WizardForm.FinishedHeadingLabel.Caption;                              
    Font.Color := clBlack;
    Font.Height := -15;
    Font.Name := 'Verdana';
    Font.Style := [fsBold];
    ParentFont := False;
    Left := ScaleX(176);
    Top := ScaleY(16);
    Width := ScaleX(301);
    Height := ScaleY(55);
    AutoSize:= False;
    WordWrap:= True;
    Alignment:= taCenter;
  end;

  Label4 := TLabel.Create(WizardForm);
  with Label4 do
  begin
    Parent := WizardForm.FinishedPage;
    Left := ScaleX(176);
    Top := ScaleY(71);
    Width := ScaleX(301);
    Height := ScaleY(239);
    AutoSize:= False;
    WordWrap:= True;
    Alignment:= taCenter;
  end;

 WizardForm.WelcomeLabel2.Hide;
 WizardForm.WelcomeLabel1.Hide;
 WizardForm.FinishedHeadingLabel.Hide;
 WizardForm.FinishedLabel.Hide;
end;

procedure CurPageChanged(CurPageID: Integer);
begin
 Label4.Caption:=WizardForm.FinishedLabel.Caption;
end;
 

Veskella

Мимокрокодил
Avengerz13, огромное Вам спасибо!) Это как раз то, что было нужно, теперь всё работает.)
 
Сверху