当前位置 : 主页 > 编程语言 > delphi >

colors – 修改Inno Setup Installer的颜色方案

来源:互联网 收集:自由互联 发布时间:2021-06-23
我一直在玩Inno Setup 5.3.6;尝试自定义安装程序颜色.主要是安装程序头部出现的横幅.但是到目前为止我还没有找到一种方便的方法. 阅读完文档后,我发现了BackColor,BackColor2,BackColorDirectio
我一直在玩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]段以编程方式修改上横幅颜色渐变?

这四个参数在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类可能在正确的位置创建并用于绘制渐变不可用(请参阅文档“支持类参考”部分中的类列表).

网友评论