在Inno设置中,如何在窗口中居中显示某些文本?

时间:2014-08-19 13:27:57

标签: inno-setup centering

在Inno设置中,如何在窗口中居中显示某些文字?我尝试将它设置为TLabel并将Alignment设置为taCenter,但它没有任何效果。我可以设置Left和Top没有任何问题。

1 个答案:

答案 0 :(得分:3)

Alignment属性控制文本在标签中的水平放置。它不用于在父项中定位控件。除了Align属性(将控件拉伸到给定空间)之外,无法将控件集中到其父级。但是你可以为此做一个函数:

[Code]
procedure CenterInParent(Control: TControl);
begin
  if Assigned(Control) and Assigned(Control.Parent) then
  begin
    Control.Left := (Control.Parent.Width - Control.Width) div 2;
    Control.Top := (Control.Parent.Height - Control.Height) div 2;
  end;
end;

procedure InitializeWizard;
var
  MyPage: TWizardPage;
  MyLabel: TLabel;
begin
  MyPage := CreateCustomPage(wpWelcome, 'Caption', 'Description');

  MyLabel := TLabel.Create(MyPage);
  MyLabel.Parent := MyPage.Surface;
  MyLabel.Caption := 'Hello!';

  CenterInParent(MyLabel);
end;