windows - 创新设置: How to change uninstall background color

标签 windows inno-setup pascalscript

我试图弄清楚如何更改卸载程序中底部面板的背景颜色,以匹配我能够使用我在这里找到的信息为安装程序设置的颜色:Inno Setup: How to change background color不幸的是,我一直无法找到任何方法来扩展该答案以也包含卸载页面。它非常适合安装,但是当我测试卸载时,我看到了这个:

Ugly output example

在安装程序中,当下部 Pane 的背景颜色更改时,斜角标签的背景也会随之更改,但我找不到卸载程序的类似设置。我查看了 CurPageID 值列表,似乎没有一个与卸载程序相关,尽管我希望它被列出或使用与安装程序相同的设置。可悲的是,这两者似乎都不是真的。

谁能解释一下正确的方法吗?谢谢!

编辑:对于那些不想查看链接文章中的代码的人,这是它现在在我的项目中的样子:

procedure CurPageChanged(CurPageID: Integer);
begin
  WizardForm.Color := WizardForm.InnerPage.Color;
end;

procedure InitializeWizard;
begin
  WizardForm.Color := clWhite;
end;

我最初尝试时没有注释掉 CurPageChanged 中的行,然后我想,为什么不总是在页面更改时设置颜色。尽管如此,卸载页面仍然有一个灰色的下部 Pane 。显然,代码不会影响它们和/或它们不是 WizardForm 页面。

编辑:当要求显示我尝试过的代码时,我添加了查看时间的代码块。该 block 包含一些注释掉的行,这些行是之前尝试的一部分。这里有人认为不需要以前的尝试,并将它们从我的帖子中删除。所以我可以问,“为什么我失败的代码中有一些是合适的,但其他部分却不是?或者我应该在放弃并提出问题之前发布我调整过的 20 多次函数的每个单独版本吗? ”

最佳答案

相当于 InitializeWizard 的卸载程序是 InitializeUninstallProgressForm :

procedure InitializeUninstallProgressForm();
begin
  UninstallProgressForm.Color := clWhite;
end;

enter image description here


CurPageChanged 的等效项是 CurUninstallStepChangedUninstallProgressForm 在初始 usAppMutexCheck 和最终 usDone 步骤中不可用。

尽管您应该使用上面所示的InitializeUninstallProgressForm

关于windows - 创新设置: How to change uninstall background color,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57149641/

相关文章:

c++ - 是否有 WinZip 的环境变量或等效变量?

c++ - 开发使用 MS CryptoAPI 的 64 位应用程序

php - 在没有 XAMPP 的情况下在 Windows 中安装 Laravel

visual-studio-2017 - 在 Inno Setup 安装程序中,卸载由 InstallShield LE 进行的安装

Inno Setup 中的 MySQL 查询

windows - 有条件地刷新 Inno Setup 中的 shell 关联(仅在选中功能时)

xml - 在 Inno Setup 中删除 XML 元素的内容

CMake - 包含第三方文件

inno-setup - 如何添加将在提取文件之前执行的 Pascal 脚本(Inno Setup)中的 sleep

inno-setup - 在某些具有隐藏 UserInfoPage Inno Setup 页面的机器上获取 "You must enter a name"和 "Cannot focus a disabled or invisible window"