Inno设置-如何在调整大小的向导中居中显示动画gif



我想将我的动画gif放在安装程序(WizardSizePercent=150(中所有页面的中间,而不使用值。

这是我的代码:

var
ParentForm: TSetupForm;
begin
TimerID := 0;
SlideID := 0;
ContentHeight := ParentForm.Top + ParentForm.Height;
ExtractTemporaryFile('Image1.bmp');
ExtractTemporaryFile('Image2.bmp');
ExtractTemporaryFile('Image3.bmp');
ExtractTemporaryFile('Image4.bmp');
ExtractTemporaryFile('Image5.bmp');
ExtractTemporaryFile('Image6.bmp');

Panel := TPanel.Create(ParentForm);
Panel.Parent := ParentForm;
Panel.Left := 185;
Panel.Top := ParentForm.Top + 130;
Panel.Width := 1000;
Panel.Height := 380;
Panel.Visible := True;
BackImage := TBitmapImage.Create(ParentForm);
BackImage.Parent := Panel;
BackImage.Width:= 1000;
BackImage.Height:= 380;
BackImage.Left := (Panel.Height - BackImage.Height) div 2;
BackImage.Top := (Panel.Height - BackImage.Height) div 2;
BackImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}Image1.bmp'));
StartSlideTimer;
end;

如何更改ContentHeightPanelBackImage的值?

WizardSizePercent(由WizardStyle=modern显式和隐式(仅在InitializeWizard之后应用。因此,明确定位在InitializeWizard中的控件之后可能会错位。

仅在应用WizardSizePercent之后定位图像。因此,例如在CurPageChanged中,而不是在InitializeWizard中。

或者更好的是,为了有一个更稳健的解决方案,即使使用WizardResizable,也可以通过更新图像坐标(或者更确切地说是Panel坐标——尽管我不理解它的用途(来响应WizardForm.OnResize。例如,请参阅将控件宽度设置为自定义页面SurfaceWidth的一半在Inno Setup中无法正常工作。

在许多情况下,还可以使用Anchors属性使控件自动调整大小。例如,请参见Inno Setup-将自定义按钮与Cancel按钮对齐。


请注意,不能使用常量坐标。您的图像在高DPI显示器上无法正确居中。缩放坐标——例如,在自定义页面上放置图像/控件的Inno设置。或者,在您的情况下,如果您根据图像和窗口大小以编程方式计算居中坐标,效果会更好——为此,请检查in Inno Setup,我如何在窗口中居中一些文本?

相关内容

  • 没有找到相关文章

最新更新