在Inno Setup中将控件宽度设置为自定义页面SurfaceWidth的一半无法正常工作

康斯坦丁

Panel在自定义页面上放置了一个,并将其宽度设置为SurfaceWidth然后我将其宽度更改为SurfaceWidth div 2结果如下:

在此处输入图片说明

从屏幕截图中可以看到,新面板的宽度绝对不等于SurfaceWidth div 2为什么?

这是代码:

[Setup]
WizardStyle=modern

[Code]
procedure InitializeWizard();
var
  Page: TWizardPage;
  Panel: TPanel;
begin
  Page := CreateCustomPage(wpWelcome, 'Custom wizard page controls', 'TButton and others');
  Panel := TPanel.Create(Page);
  Panel.Width := Page.SurfaceWidth div 2;
  Panel.Left := 0;
  Panel.Height := 46;
  Panel.Anchors := [akLeft, akTop, akRight];
  Panel.Caption := 'TPanel';
  Panel.Color := clWindow;
  Panel.BevelKind := bkFlat;
  Panel.BevelOuter := bvNone; 
  Panel.ParentBackground := False;
  Panel.Parent := Page.Surface;
end;
马丁·普里克里(Martin Prikryl)

那是因为akRightinPanel.Anchorsmodern WizardStyle(或者WizardSizePercent它暗示的是120 )。该向导仅在之后缩放InitializeWizard使用akRight,面板宽度将随向导线性增加(不成比例增加)。有解决方案,但是它们取决于您实际上希望面板在可调整大小的向导中的行为方式(modern样式也暗示)。

另请参阅Inno设置-如何在调整大小的向导中居中放置动画gif

如果要将面板保持一半大小,请在调整向导大小时(由于WizardSizePercent或由于导致用户自动调整WizardResizable),请处理WizardForm.OnResize

[Code]
var
  Page: TWizardPage;
  Panel: TPanel;

procedure WizardFormResize(Sender: TObject);
begin
  Panel.Width := Page.SurfaceWidth div 2;
end;

procedure InitializeWizard();
begin
  Page := CreateCustomPage(
    wpWelcome, 'Custom wizard page controls', 'TButton and others');
  Panel := TPanel.Create(Page);
  Panel.Width := Page.SurfaceWidth div 2;
  // ...
  WizardForm.OnResize := @WizardFormResize;
end;

确保不设置akRight锚点。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Inno Setup设置TInputQueryWizardPage高度

来自分类Dev

Inno Setup的自定义页面向导

来自分类Dev

更改Inno设置清单

来自分类Dev

Inno Setup语法-OR,AND

来自分类Dev

在Inno-Setup中使用自定义DLL

来自分类Dev

Inno设置页面顺序

来自分类Dev

Inno Setup语言对话框自定义

来自分类Dev

Inno Setup中的TTreeView

来自分类Dev

Chrome的Inno设置自定义网址

来自分类Dev

Inno Setup:“就绪页面”自定义布局

来自分类Dev

Inno Setup在wpPreparing页面上放置控件

来自分类Dev

Inno Setup:从另一个控件的OnClick事件访问自定义控件

来自分类Dev

Inno Setup:自定义类

来自分类Dev

如何在Inno Setup中基于设置类型跳过自定义页面

来自分类Dev

Inno Setup:创建自定义表单

来自分类Dev

如何使用RichEditViewer在Inno Setup中向自定义页面添加可点击链接?

来自分类Dev

为什么在Inno Setup中未选中自定义页面上的单选按钮?

来自分类Dev

自定义页面Values []数组在Inno Setup中如何工作?

来自分类Dev

如何在Inno Setup中将自定义页面上的单选控件分成两个不同的组?

来自分类Dev

Inno Setup中自定义页面画布区域的默认大小是多少?

来自分类Dev

当窗口调整为最小尺寸时(在Inno Setup上),TLabel控件会在自定义页面上裁剪

来自分类Dev

Inno Setup-使用进度条在自定义页面上复制文件

来自分类Dev

Inno Setup使用Pascal脚本自定义FinishedLabel

来自分类Dev

Inno Setup的自定义页面向导

来自分类Dev

使用Google Map的Inno Setup自定义页面

来自分类Dev

Inno Setup:自定义类

来自分类Dev

Inno Setup - 如何在自定义卸载页面中创建新的卸载页面?

来自分类Dev

Inno Setup:自定义页面选择更新或删除/卸载

来自分类Dev

Inno Setup - 创建自定义消息框(是/否)

Related 相关文章

  1. 1

    Inno Setup设置TInputQueryWizardPage高度

  2. 2

    Inno Setup的自定义页面向导

  3. 3

    更改Inno设置清单

  4. 4

    Inno Setup语法-OR,AND

  5. 5

    在Inno-Setup中使用自定义DLL

  6. 6

    Inno设置页面顺序

  7. 7

    Inno Setup语言对话框自定义

  8. 8

    Inno Setup中的TTreeView

  9. 9

    Chrome的Inno设置自定义网址

  10. 10

    Inno Setup:“就绪页面”自定义布局

  11. 11

    Inno Setup在wpPreparing页面上放置控件

  12. 12

    Inno Setup:从另一个控件的OnClick事件访问自定义控件

  13. 13

    Inno Setup:自定义类

  14. 14

    如何在Inno Setup中基于设置类型跳过自定义页面

  15. 15

    Inno Setup:创建自定义表单

  16. 16

    如何使用RichEditViewer在Inno Setup中向自定义页面添加可点击链接?

  17. 17

    为什么在Inno Setup中未选中自定义页面上的单选按钮?

  18. 18

    自定义页面Values []数组在Inno Setup中如何工作?

  19. 19

    如何在Inno Setup中将自定义页面上的单选控件分成两个不同的组?

  20. 20

    Inno Setup中自定义页面画布区域的默认大小是多少?

  21. 21

    当窗口调整为最小尺寸时(在Inno Setup上),TLabel控件会在自定义页面上裁剪

  22. 22

    Inno Setup-使用进度条在自定义页面上复制文件

  23. 23

    Inno Setup使用Pascal脚本自定义FinishedLabel

  24. 24

    Inno Setup的自定义页面向导

  25. 25

    使用Google Map的Inno Setup自定义页面

  26. 26

    Inno Setup:自定义类

  27. 27

    Inno Setup - 如何在自定义卸载页面中创建新的卸载页面?

  28. 28

    Inno Setup:自定义页面选择更新或删除/卸载

  29. 29

    Inno Setup - 创建自定义消息框(是/否)

热门标签

归档