Inno Setup的安装向导大小是固定的,但我想更改向导安装大小并更改一些项目,包括图像和...
最佳答案
创新设置6
Inno Setup 6支持更改向导窗口的大小。
您可以使用 WizardSizePercent
更改向导窗口的大小。
您还可以使用 WizardResizable
来允许用户调整向导的大小(如果使用modern
WizardStyle
,则这是默认行为)。
创新设置5
没有任何神奇的方法可以使向导页面变大。它们是为特定尺寸设计的。如果要使它们变大,则必须逐页逐个控制,并仔细决定如何为新尺寸布置它们。
以下代码仅是示例,您可能希望选择布局的另一种更改。
procedure ShiftDown(Control: TControl; DeltaY: Integer);
begin
Control.Top := Control.Top + DeltaY;
end;
procedure ShiftRight(Control: TControl; DeltaX: Integer);
begin
Control.Left := Control.Left + DeltaX;
end;
procedure ShiftDownAndRight(Control: TControl; DeltaX, DeltaY: Integer);
begin
ShiftDown(Control, DeltaY);
ShiftRight(Control, DeltaX);
end;
procedure GrowDown(Control: TControl; DeltaY: Integer);
begin
Control.Height := Control.Height + DeltaY;
end;
procedure GrowRight(Control: TControl; DeltaX: Integer);
begin
Control.Width := Control.Width + DeltaX;
end;
procedure GrowRightAndDown(Control: TControl; DeltaX, DeltaY: Integer);
begin
GrowRight(Control, DeltaX);
GrowDown(Control, DeltaY);
end;
procedure GrowRightAndShiftDown(Control: TControl; DeltaX, DeltaY: Integer);
begin
GrowRight(Control, DeltaX);
ShiftDown(Control, DeltaY);
end;
procedure GrowWizard(DeltaX, DeltaY: Integer);
begin
GrowRightAndDown(WizardForm, DeltaX, DeltaY);
with WizardForm do
begin
GrowRightAndShiftDown(Bevel, DeltaX, DeltaY);
ShiftDownAndRight(CancelButton, DeltaX, DeltaY);
ShiftDownAndRight(NextButton, DeltaX, DeltaY);
ShiftDownAndRight(BackButton, DeltaX, DeltaY);
GrowRightAndDown(OuterNotebook, DeltaX, DeltaY);
GrowRight(BeveledLabel, DeltaX);
{ WelcomePage }
GrowDown(WizardBitmapImage, DeltaY);
GrowRight(WelcomeLabel2, DeltaX);
GrowRight(WelcomeLabel1, DeltaX);
{ InnerPage }
GrowRight(Bevel1, DeltaX);
GrowRightAndDown(InnerNotebook, DeltaX, DeltaY);
{ LicensePage }
ShiftDown(LicenseNotAcceptedRadio, DeltaY);
ShiftDown(LicenseAcceptedRadio, DeltaY);
GrowRightAndDown(LicenseMemo, DeltaX, DeltaY);
GrowRight(LicenseLabel1, DeltaX);
{ SelectDirPage }
GrowRightAndShiftDown(DiskSpaceLabel, DeltaX, DeltaY);
ShiftRight(DirBrowseButton, DeltaX);
GrowRight(DirEdit, DeltaX);
GrowRight(SelectDirBrowseLabel, DeltaX);
GrowRight(SelectDirLabel, DeltaX);
{ SelectComponentsPage }
GrowRightAndShiftDown(ComponentsDiskSpaceLabel, DeltaX, DeltaY);
GrowRightAndDown(ComponentsList, DeltaX, DeltaY);
GrowRight(TypesCombo, DeltaX);
GrowRight(SelectComponentsLabel, DeltaX);
{ SelectTasksPage }
GrowRightAndDown(TasksList, DeltaX, DeltaY);
GrowRight(SelectTasksLabel, DeltaX);
{ ReadyPage }
GrowRightAndDown(ReadyMemo, DeltaX, DeltaY);
GrowRight(ReadyLabel, DeltaX);
{ InstallingPage }
GrowRight(FilenameLabel, DeltaX);
GrowRight(StatusLabel, DeltaX);
GrowRight(ProgressGauge, DeltaX);
{ MainPanel }
GrowRight(MainPanel, DeltaX);
ShiftRight(WizardSmallBitmapImage, DeltaX);
GrowRight(PageDescriptionLabel, DeltaX);
GrowRight(PageNameLabel, DeltaX);
{ FinishedPage }
GrowDown(WizardBitmapImage2, DeltaY);
GrowRight(RunList, DeltaX);
GrowRight(FinishedLabel, DeltaX);
GrowRight(FinishedHeadingLabel, DeltaX);
end;
end;
使用
GrowWizard
事件函数(或其他函数)中的InitializeWizard
函数,以宽度和高度的变化作为参数:procedure InitializeWizard();
begin
GrowWizard(ScaleX(100), ScaleY(80));
end;
该代码将处理以下页面:
其他不那么常见的页面留给读者练习:
类似问题: