图像作为安装程序背景如何用inno 5.5.9做到这一点?
解决方法
我不认为在Inno Setup中这是可能的.也许是一些Inno Setup克隆.
问题是Inno Setup中的所有标签都是TStaticText,这是不透明的.所以你必须用TLabel替换所有.而且有很多.它们由Inno Setup管理.所以你不得不不断地将新的TStaticText更新为Inno Setup设置为原始TLabel的值.它甚至可能是不可能的.
实际上,可以在您的问题中创建一个页面.但仅仅是因为没有标准的Inno Setup标签.但你不能隐藏所有这些.
procedure InitializeWizard();
var
BackImage: TBitmapImage;
begin
{ Hide top panel }
WizardForm.MainPanel.Visible := False;
{ Adjust "select dir" page controls for a stretched inner page size }
WizardForm.DirEdit.Left := WizardForm.DirEdit.Left + WizardForm.InnerNotebook.Left;
WizardForm.DirEdit.Top := WizardForm.DirEdit.Top + WizardForm.InnerNotebook.Top;
WizardForm.DirbrowseButton.Left :=
WizardForm.DirbrowseButton.Left + WizardForm.InnerNotebook.Left;
WizardForm.DirbrowseButton.Top :=
WizardForm.DirbrowseButton.Top + WizardForm.InnerNotebook.Top;
{ Hide non-transparent labels }
WizardForm.diskSpaceLabel.Visible := False;
WizardForm.SelectDirbrowseLabel.Visible := False;
WizardForm.SelectDirLabel.Visible := False;
{ Stretch the outer page across whole form }
WizardForm.OuterNotebook.Width := WizardForm.ClientWidth;
WizardForm.OuterNotebook.Height := WizardForm.ClientHeight;
{ Stretch the inner page across whole outer page }
WizardForm.InnerNotebook.Left := 0;
WizardForm.InnerNotebook.Top := 0;
WizardForm.InnerNotebook.Width := WizardForm.OuterNotebook.ClientWidth;
WizardForm.InnerNotebook.Height := WizardForm.OuterNotebook.ClientHeight;
{ Put buttons on top of the page (image) }
WizardForm.BackButton.BringToFront()
WizardForm.NextButton.BringToFront();
WizardForm.CancelButton.BringToFront();
{ Add a background image }
BackImage := TBitmapImage.Create(WizardForm);
BackImage.Parent := WizardForm.SelectDirPage;
BackImage.Top := 0;
BackImage.Left := 0;
{ ... }
BackImage.Bitmap.LoadFromFile(...);
end;
类似的问题:
>仅在“页脚”上方显示背景图像:
How to hide the main panel and show an image over the whole page?
>仅在“标题”和“页脚”之间显示背景图像:Image covering whole page in Inno Setup.