修改Inno安装程序安装程序的颜色方案

时间:2009-11-25 09:33:16

标签: colors background inno-setup

我一直在玩Inno Setup 5.3.6;尝试自定义安装程序颜色。主要是安装程序头部出现的横幅。但是到目前为止我还没有找到一种方便的方法。

阅读完文档后,我发现了BackColor,BackColor2,BackColorDirection和BackSolid参数。但是给他们不同的价值却没有给我任何视觉上的改变。

我正在尝试做的快速示例

[Setup]
AppName=My Program
AppVerName=My Program version 1.4
DefaultDirName={pf}\My Program
DefaultGroupName=My Program

BackColor=$E6B13A
BackColor2=$E5B13A
BackSolid=no
BackColorDirection=lefttoright

我想知道的是,有谁知道BackColor和BackColor2实际修改了什么颜色?如果没有简单的改变颜色的方法;有没有办法使用[Code]段以编程方式修改上横幅颜色渐变?

2 个答案:

答案 0 :(得分:8)

这四个参数在Inno Setup帮助中 [Setup] 部分文档的 Cosmetic 部分中进行了描述。它们可以达到您的预期效果,但不能用于设置向导上部区域的渐变,而是用于几年前惯用的背景窗口。这被认为是遗留的,但可以通过设置

来启用
[Setup]
...
WindowVisible=yes

(默认值为no)。您可以尝试使用它来查看它的运行情况,但IMO您不应该为您的安装启用此功能,除非您希望它们看起来过时。

至于向导的顶部区域:它并不意味着有一个渐变。如果你使用像Spy ++这样的工具来检查向导的窗口层次结构,或者从Inno安装源打开 Wizard.dfm.txt 文本文件,你会发现有一个类的窗口TPanel,颜色设置为默认窗口颜色(clWindow如果您知道Delphi,或调用GetSysColor() COLOR_WINDOW常量的结果)。这是一种纯色,您可以通过将其添加到 [代码] 部分轻松更改:

procedure InitializeWizard();
begin
  WizardForm.MainPanel.Color := clYellow;
end;

我不认为使用当前的Inno Setup版本可以在此面板上绘制渐变,因为面板本身没有要绘制的画布,而TPaintBox类可能 在正确的位置创建并用于绘制渐变不可用(请参阅文档“支持类参考”部分中的类列表)。

答案 1 :(得分:4)