Inno设置 - 页面名称和描述标签中文本下的透明度

时间:2017-09-12 13:49:59

标签: inno-setup

我想在文字下面制作透明度:

enter image description here

正如你所看到的,我有黑色背景,我不想拥有它。

问候。

1 个答案:

答案 0 :(得分:3)

PageNameLabelPageDescriptionLabelTNewStaticText个组件。此组件不支持透明度。虽然TLabel组件具有类似的功能,但它确实支持透明度(in Unicode version of Inno Setup和仅限主题的Windows)。

因此,您可以用TLabel等效替换这两个组件。然后,您需要确保每当Inno Setup更新原始组件时,您的新自定义组件的标题都会更新。对于这两个组件,这非常简单,因为它们仅在页面更改时才更新。因此,您可以从CurPageChanged event function更新自定义组件。

function CloneStaticTextToLabel(StaticText: TNewStaticText): TLabel;
begin
  Result := TLabel.Create(WizardForm);
  Result.Parent := StaticText.Parent;
  Result.Left := StaticText.Left;
  Result.Top := StaticText.Top;
  Result.Width := StaticText.Width;
  Result.Height := StaticText.Height;
  Result.AutoSize := StaticText.AutoSize;
  Result.ShowAccelChar := StaticText.ShowAccelChar;
  Result.WordWrap := StaticText.WordWrap;
  Result.Font := StaticText.Font;
  StaticText.Visible := False;
end;

var
  PageDescriptionLabel: TLabel;
  PageNameLabel: TLabel;

procedure InitializeWizard();
begin
  { ... }

  { Create TLabel equivalent of standard TNewStaticText components }
  PageNameLabel := CloneStaticTextToLabel(WizardForm.PageNameLabel);
  PageDescriptionLabel := CloneStaticTextToLabel(WizardForm.PageDescriptionLabel);
end;

procedure CurPageChanged(CurPageID: Integer);
begin
  { Update the custom TLabel components from the standard hidden components }
  PageDescriptionLabel.Caption := WizardForm.PageDescriptionLabel.Caption;
  PageNameLabel.Caption := WizardForm.PageNameLabel.Caption;
end;

enter image description here

更容易的是改变原始标签背景颜色:
Inno Setup - Change size of page name and description labels