解决方法
我不认为在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.