在 Inno Setup 中更改任务列表框和其他控件的背景颜色

2023-12-30

在 Inno Setup 中,我尝试将设置的颜色更改为白色。问题是,当我尝试通过 Unicode 版本的安装程序执行此操作时,在选择附加任务屏幕,我得到灰色部分(截图如下)。重要的是,当我移至下一个屏幕并再次返回该屏幕时,灰色部分就消失了。

我正在使用以下代码,基于Inno Setup:如何更改背景颜色 https://stackoverflow.com/q/22557034/850848.

procedure CurPageChanged(CurPageID: Integer);
begin
  case CurPageID of
    wpWelcome: WizardForm.Color := WizardForm.WelcomePage.Color;
    wpFinished: WizardForm.Color := WizardForm.FinishedPage.Color;
    wpLicense: WizardForm.InnerPage.Color := clWhite;
    wpSelectDir: WizardForm.InnerPage.Color := clWhite;
    wpSelectTasks: WizardForm.TasksList.Color := clWhite;
    wpReady: WizardForm.ReadyMemo.Color := clWhite
  else
    WizardForm.Color := clWhite;
  end;
end;

当颜色改变时,清单框似乎没有完全重新绘制。

但实际上你的代码太复杂了(实际上甚至不正确)。可以直接设置所有组件的颜色, 代替CurPageChanged。这样,列表框在第一次绘制时就具有正确的颜色。

procedure InitializeWizard();
begin
  WizardForm.Color := clWhite;
  WizardForm.InnerPage.Color := WizardForm.Color;
  WizardForm.TasksList.Color := WizardForm.Color; 
  WizardForm.ReadyMemo.Color := WizardForm.Color;
end;

请注意,Inno Setup 6 具有现代向导风格:

[Setup]
WizardStyle=modern

它看起来像这样:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Inno Setup 中更改任务列表框和其他控件的背景颜色 的相关文章

随机推荐