Inno Setup上的欢迎标签透明

And*_*ork 7 inno-setup

如何在Inno Setup上显示WelcomeLabel并且仅在图像上留下文本.

这就是我想要的.

在此输入图像描述

TLa*_*ama 10

像这样的东西可能会成功.由于欢迎标签不支持透明度,因此您需要通过使用不同的类(具有透明度支持)创建自己的标签,继承父,字体,文本和大小并隐藏原始标签来解决此问题.以下是脚本如何执行此操作:

[Code]
procedure InheritBoundsRect(ASource, ATarget: TControl);
begin
  ATarget.Left := ASource.Left;
  ATarget.Top := ASource.Top;
  ATarget.Width := ASource.Width;
  ATarget.Height := ASource.Height;
end;

procedure InitializeWizard;
var
  TopWelcomeLabel: TLabel;
  BottomWelcomeLabel: TLabel;
begin
  WizardForm.WizardBitmapImage.Align := alClient;
  WizardForm.WizardBitmapImage.Bitmap.LoadFromFile('D:\Image.bmp');

  TopWelcomeLabel := TLabel.Create(WizardForm);
  TopWelcomeLabel.Parent := WizardForm.WelcomeLabel1.Parent;
  TopWelcomeLabel.Font := WizardForm.WelcomeLabel1.Font;
  TopWelcomeLabel.Caption := WizardForm.WelcomeLabel1.Caption;
  TopWelcomeLabel.WordWrap := WizardForm.WelcomeLabel1.WordWrap;
  InheritBoundsRect(WizardForm.WelcomeLabel1, TopWelcomeLabel);
  WizardForm.WelcomeLabel1.Visible := False;

  BottomWelcomeLabel := TLabel.Create(WizardForm);
  BottomWelcomeLabel.Parent := WizardForm.WelcomeLabel2.Parent;
  BottomWelcomeLabel.Font := WizardForm.WelcomeLabel2.Font;
  BottomWelcomeLabel.Caption := WizardForm.WelcomeLabel2.Caption;
  BottomWelcomeLabel.WordWrap := WizardForm.WelcomeLabel2.WordWrap;
  InheritBoundsRect(WizardForm.WelcomeLabel2, BottomWelcomeLabel);
  WizardForm.WelcomeLabel2.Visible := False;
end;
Run Code Online (Sandbox Code Playgroud)

结果如下:

在此输入图像描述

  • TLama,非常感谢。这正是我想要做的。我的问题已为您 100% 回答。 (2认同)
  • 抱歉回复晚了。快速查看您的脚本似乎您正在使用原始标签(`WelcomeLabel1` 和 `WelcomeLabel2`)。如果你想要透明标签,你需要从 `TLabel` 类创建你自己的标签并隐藏那些 `WelcomeLabel1` 和 `WelcomeLabel2`。 (2认同)
  • 嗨,@ Andrezork,对不起,但没有正确的格式化,这将花费我很长时间(嵌套`with`语句实际上是你可以用于这种脚本的最差).但是对于你的问题,进度条是*自然透明*或看起来如此,参见例如[`here`](http://stackoverflow.com/a/11218782/960757).有了复选框,它更糟糕,因为它不透明,不支持透明度.但是,如果您将复选框的大小精确地设置为其框部分,并且其标题添加了额外的标签,则可以将复选框模拟为透明.不幸的是,标题部分不会有鼠标悬停. (2认同)
  • 您好 TLama,再次感谢您的帮助。我将尝试以其他方式制作此安装程序。这不是很重要,我只是想以不同的方式在我的 PC 中组织我的游戏。再次感谢您的关注和帮助。此致。 (2认同)