gpt4 book ai didi

inno-setup - Inno Setup 中覆盖整个页面的图像

转载 作者:行者123 更新时间:2023-12-05 03:08:54 28 4
gpt4 key购买 nike

从这里开始:Inno Setup Placing image/control on custom page .

这是做我需要的:

CustomPage := CreateCustomPage(wpLicense, 'Heading', 'Sub heading.');

ExtractTemporaryFile('image.bmp');

BtnImage := TBitmapImage.Create(WizardForm);
with BtnImage do
begin
Parent := CustomPage.Surface;
Bitmap.LoadFromFile(ExpandConstant('{tmp}')+'\image.bmp');
AutoSize := True;
AutoSize := False;
Height := ScaleX(Height);
Width := ScaleY(Width);
Stretch := True;
Left := ScaleX(90);
Top := WizardForm.SelectTasksPage.Top + WizardForm.SelectTasksPage.Height -
Height - ScaleY(8);
Cursor := crHand;
OnClick := @ImageOnClick;
end;

但是我希望背景图像是标题下方和页脚上方的空间的完整大小,没有边距。我正在尝试各种拉伸(stretch)/边距/高度/宽度,但结果很乱。无论 DPI 如何,实现这一目标的最佳方法是什么?

最佳答案

您可以使用 TWizardPage.SurfaceHeight and TWizardPage.SurfaceWidth 检索(自定义)页面表面的大小.

BtnImage.Height := CustomPage.SurfaceHeight;
BtnImage.Width := CustomPage.SurfaceWidth;
// Needed for WizardStyle=modern
BtnImage.Anchors := [akLeft, akTop, akRight, akBottom];

虽然您会看到(自定义)页面没有覆盖“页眉”(MainPanel)和“页脚”(带有按钮的底部)之间的整个区域。

enter image description here


如果要在“页眉”和“页脚”之间的整个区域显示图像,则不能将其放置在(自定义)页面上。您必须将它放在 InnerPage 上(这是所有带有“header”的页面的父控件)。

BtnImage.Parent := WizardForm.InnerPage;

BtnImage.Left := 0;
BtnImage.Top := WizardForm.Bevel1.Top + 1;
BtnImage.Width := WizardForm.InnerPage.ClientWidth;
BtnImage.Height := WizardForm.InnerPage.ClientHeight - BtnImage.Top;
// Needed for WizardStyle=modern
BtnImage.Anchors := [akLeft, akTop, akRight, akBottom];

但那样的话,图像将不会像自定义页面显示/隐藏那样自动显示/隐藏。您必须对其进行编码。使用 CurPageChanged event function .

procedure CurPageChanged(CurPageID: Integer);
begin
WizardForm.InnerNoteBook.Visible := (CurPageID <> CustomPage.ID);
BtnImage.Visible := (CurPageID = CustomPage.ID);
end;

enter image description here


类似问题:

关于inno-setup - Inno Setup 中覆盖整个页面的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44471989/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com