我使用Inno Setup 6.x的目标是自定义FinishedLabel
代码中的文本,即Pascal脚本。我使用Pascal Script的原因是,我只想自定义/更改标签(如果IsAdminMode()
为true)。我怎样才能做到这一点?
以下两种方法不起作用:
使用脚本化常量:
[Messages]
FinishedLabel={code:GetFinishedLabel}
[Code]
function GetFinishedLabel(Param: String): String;
begin
Result := 'BLA';
end;
这显示“ {code:GetFinishedLabel}”而不是“ BLA”。
在中自定义向导InitializeWizard
。
完整(失败)示例:
[Code]
procedure InitializeWizard();
begin
WizardForm.FinishedLabel.Caption := 'BLA';
end;
在FinishLabel
仍然显示从原来的文本Default.isl
有任何想法吗?
的FinishedLabel
是在安装结束时,根据各种因素进行更新。因此,您设置的值将InitializeWizard
被覆盖。您稍后必须设置自定义消息,例如CurPageChanged(wpFinished)
:
procedure CurPageChanged(CurPageID: Integer);
begin
if CurPageID = wpFinished then
begin
WizardForm.FinishedLabel.Caption := 'BLA';
end;
end;
您可能会考虑改进代码以执行Inno Setup会执行的操作,例如:
FinishedRestartLabel
);FinishedLabel
vs. FinishedLabelNoIcons
);RunList
根据消息高度移动位置。本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句