首页 > 解决方案 > Inno Setup:如何更改卸载背景颜色

问题描述

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

丑陋的输出示例

在安装程序中,当下部窗格的背景颜色发生变化时,斜面标签的背景也随之变化,但我找不到卸载程序的类似设置。我查看了CurPageID值列表,似乎没有一个与卸载程序相关,但我希望它要么被列出,要么使用与安装程序相同的设置。可悲的是,两者似乎都不是真的。

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

编辑:对于不想查看链接文章中的代码的任何人,这是它现在在我的项目中的外观:

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

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

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

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

标签: windowsinno-setuppascalscript

解决方案


InitializeWizard卸载程序等效于InitializeUninstallProgressForm

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

在此处输入图像描述


的等价物CurPageChangedCurUninstallStepChanged。在初始和最终步骤UninstallProgressForm中不可用。usAppMutexCheckusDone

尽管无论如何您都应该使用InitializeUninstallProgressForm如上所示的。


推荐阅读