在 Inno Setup 的完成页面中更改重启选项单选按钮的位置

Change position of restart option radio buttons in Finished page of Inno Setup

如何更改这些控件的位置?

重新启动单选按钮似乎没有改变它的位置,即使您使用 .Top 更改它也是如此。

代码如下:

[Code]
procedure InitializeWizard;
begin
  with WizardForm do
  begin
    { NOT WORKING }
    YesRadio.Top := ScaleY(450);
    NoRadio.Top := ScaleY(750);

    { WORKING }
    YesRadio.Left := ScaleX(200);
    NoRadio.Left := ScaleX(200);

    NoRadio.Checked := True;
  end;
end;

此外,如果您添加此代码:

[Setup]
WizardStyle=modern

.Left.Top 都不起作用。

YesRadioNoRadio 的垂直位置是在“已完成”页面显示之前根据页面的其他内容(特别是 FinishedLabel 的高度计算的和 RunList).

如果要覆盖位置,需要在 CurPageChanged event function:

中进行
procedure CurPageChanged(CurPageID: Integer);
begin
  if CurPageID = wpFinished then
  begin
    WizardForm.YesRadio.Top := ScaleY(450);
    WizardForm.NoRadio.Top := ScaleY(750);
  end;
end;

但请确保您知道自己在做什么,不要导致单选按钮与其他 动态 内容重叠。