Inno Setup自定义向导页面("安装清单")在运行时更改文本

时间:2016-09-27 18:01:39

标签: inno-setup

我制作了一个自定义向导页面,我希望它在安装结束时显示一种安装清单,显示已成功安装的内容。

这样的东西
Crucial Step......................SUCCESS
Optional Step.....................FAILURE

所以我在initializeWizard()

中有这段代码
Page := CreateCustomPage(wpInstalling, 'Installation Checklist', 'Status of all installation components');

RichEditViewer := TRichEditViewer.Create(Page);
RichEditViewer.Width := Page.SurfaceWidth;
RichEditViewer.Height := Page.SurfaceHeight;
RichEditViewer.Parent := Page.Surface;
RichEditViewer.ScrollBars := ssVertical;
RichEditViewer.UseRichEdit := True;
RichEditViewer.RTFText := ''// I want this attribute to be set in CurStepChanged()

有没有办法在以后添加或修改RichEditViewer.RTFTextPage是一个全局变量,但尝试访问任何属性都会给我一个错误。我想在wpInstalling之后编辑文本,所以我可以判断安装步骤是否成功。

1 个答案:

答案 0 :(得分:1)

我不是这种方法的忠实粉丝,但您可以将RichEditViewer设置为全局,然后在任何功能中随时编辑它都是微不足道的。

var
  RichEditViewer: TRichEditViewer;

procedure InitializeWizard();
var
  Page: TWizardPage;
begin
  Page := CreateCustomPage(wpInstalling, 'Installation Checklist', '');

  RichEditViewer := TRichEditViewer.Create(Page);
  RichEditViewer.Width := Page.SurfaceWidth;
  RichEditViewer.Height := Page.SurfaceHeight;
  RichEditViewer.Parent := Page.Surface;
  RichEditViewer.ScrollBars := ssVertical;
  RichEditViewer.UseRichEdit := True;
end;

procedure CurStepChanged(CurStep: TSetupStep);
begin
  if CurStep=ssPostInstall then RichEditViewer.RTFText := 'STUFF';
end;

值得注意的是,页面本身甚至不需要是全球性的。