inno-setup – Inno Setup中更大的“选择组件”页面
发布时间:2020-12-15 09:28:38 所属栏目:大数据 来源:网络整理
导读:我已经尝试了一段时间使“选择组件”页面变得更大,如下图所示,包括组件内部窗口(白色组件),因为我有许多组件……并且它更容易选择它是更大的窗口.如果有人能说出这是否可能,请给我一个提示或指出我的方向. 值得庆幸的是, 开始 解决方法 根据您的 original sc
我已经尝试了一段时间使“选择组件”页面变得更大,如下图所示,包括组件内部窗口(白色组件),因为我有许多组件……并且它更容易选择它是更大的窗口.如果有人能说出这是否可能,请给我一个提示或指出我的方向.
值得庆幸的是, 解决方法
根据您的
original script 我做了以下更改.为了存储原始位置(顶部和高度值),我使用了一个整数数组,并制作了两个通用程序来存储当前位置和恢复它们.
恢复过程具有HeightOffset参数,您可以在其中指定值,在将值传递到向导表单组件属性之前,整数输入数组中的所有值都将增加.除此之外,我已经声明了一个单独的标志,表明向导表单已经修改了大小. 我使用了所有这些,因为它提高了脚本的可读性,并且可以轻松扩展到其他页面: [Code] type TPositionStorage = array of Integer; var CompPageModified: Boolean; CompPagePositions: TPositionStorage; procedure SaveComponentsPage(out Storage: TPositionStorage); begin SetArrayLength(Storage,10); Storage[0] := WizardForm.Height; Storage[1] := WizardForm.NextButton.Top; Storage[2] := WizardForm.BackButton.Top; Storage[3] := WizardForm.CancelButton.Top; Storage[4] := WizardForm.ComponentsList.Height; Storage[5] := WizardForm.OuterNotebook.Height; Storage[6] := WizardForm.InnerNotebook.Height; Storage[7] := WizardForm.Bevel.Top; Storage[8] := WizardForm.BeveledLabel.Top; Storage[9] := WizardForm.ComponentsDiskSpaceLabel.Top; end; procedure LoadComponentsPage(const Storage: TPositionStorage; HeightOffset: Integer); begin if GetArrayLength(Storage) <> 10 then RaiseException('Invalid storage array length.'); WizardForm.Height := Storage[0] + HeightOffset; WizardForm.NextButton.Top := Storage[1] + HeightOffset; WizardForm.BackButton.Top := Storage[2] + HeightOffset; WizardForm.CancelButton.Top := Storage[3] + HeightOffset; WizardForm.ComponentsList.Height := Storage[4] + HeightOffset; WizardForm.OuterNotebook.Height := Storage[5] + HeightOffset; WizardForm.InnerNotebook.Height := Storage[6] + HeightOffset; WizardForm.Bevel.Top := Storage[7] + HeightOffset; WizardForm.BeveledLabel.Top := Storage[8] + HeightOffset; WizardForm.ComponentsDiskSpaceLabel.Top := Storage[9] + HeightOffset; end; procedure InitializeWizard; begin CompPageModified := False; end; procedure CurPageChanged(CurPageID: Integer); begin if CurpageID = wpSelectComponents then begin SaveComponentsPage(CompPagePositions); LoadComponentsPage(CompPagePositions,ScaleY(200)); CompPageModified := True; end else if CompPageModified then begin LoadComponentsPage(CompPagePositions,0); CompPageModified := False; end; end; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |