我一直在玩Inno Setup 5.3.6;尝试自定义安装程序颜色.主要是安装程序头部出现的横幅.但是到目前为止我还没有找到一种方便的方法. 阅读完文档后,我发现了BackColor,BackColor2,BackColorDirectio
阅读完文档后,我发现了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]段以编程方式修改上横幅颜色渐变?
这四个参数在Inno Setup帮助中[Setup]部分文档的Cosmetic部分中描述.它们可以达到您的预期效果,但不能用于设置向导上部区域的渐变,而是用于几年前惯用的背景窗口.这被认为是遗留的,但可以通过设置启用[Setup] ... WindowVisible=yes
(默认值为no).您可以尝试使用它来查看它的运行情况,但IMO您不应该为您的安装启用此功能,除非您希望它们看起来过时.
至于巫师的顶部区域:它并不意味着有一个渐变.如果您使用像Spy这样的工具来检查向导的窗口层次结构,或者从Inno安装源打开Wizard.dfm.txt文本文件,您会发现TPanel类的窗口的颜色设置为默认窗口颜色(如果你知道Delphi,则为clWindow,或者使用COLOR_WINDOW常量调用GetSysColor()的结果).这是一种纯色,您可以通过将其添加到[代码]部分轻松更改:
procedure InitializeWizard(); begin WizardForm.MainPanel.Color := clYellow; end;
我不认为使用当前的Inno Setup版本可以在此面板上绘制渐变,因为面板本身没有要绘制的画布,而TPaintBox类可能在正确的位置创建并用于绘制渐变不可用(请参阅文档“支持类参考”部分中的类列表).