无法在 Inno Setup 欢迎页面上创建标签
Can not create label on Inno Setup Welcome page
我正在尝试使用以下代码在欢迎页面上创建标签(或位图):
LabelTarget := TLabel.Create(WizardForm);
with LabelTarget do
begin
Parent := WizardForm.WelcomePage;
Left := ScaleX(198);
Top := ScaleY(105);
Caption := 'Target';
end;
它不会工作,但如果我将父级更改为 WizardForm.InstallingPage
,它将在安装页面上创建该标签。问题出在哪里?
这是因为 WelcomePage
的几乎整个区域都被不透明的 WelcomeLabel2
覆盖了。
TLabel
不是 真正的 Windows 控件。它是一个虚拟,由表单本身绘制。所以它会被任何其他 real Windows 控件隐藏,即使 TLabel
在技术上位于它之上(它是什么,因为你的 LabelTarget
的创建晚于 WelcomeLabel2
)。 WelcomeLabel2
是TStaticText
,什么是真正的控件。所以它隐藏了你的 LabelTarget
.
要解决此问题:
- 缩小
WelcomeLabel2
高度,或者
- 将您的
LabelTarget
更改为 TStaticText
。
我正在尝试使用以下代码在欢迎页面上创建标签(或位图):
LabelTarget := TLabel.Create(WizardForm);
with LabelTarget do
begin
Parent := WizardForm.WelcomePage;
Left := ScaleX(198);
Top := ScaleY(105);
Caption := 'Target';
end;
它不会工作,但如果我将父级更改为 WizardForm.InstallingPage
,它将在安装页面上创建该标签。问题出在哪里?
这是因为 WelcomePage
的几乎整个区域都被不透明的 WelcomeLabel2
覆盖了。
TLabel
不是 真正的 Windows 控件。它是一个虚拟,由表单本身绘制。所以它会被任何其他 real Windows 控件隐藏,即使 TLabel
在技术上位于它之上(它是什么,因为你的 LabelTarget
的创建晚于 WelcomeLabel2
)。 WelcomeLabel2
是TStaticText
,什么是真正的控件。所以它隐藏了你的 LabelTarget
.
要解决此问题:
- 缩小
WelcomeLabel2
高度,或者 - 将您的
LabelTarget
更改为TStaticText
。