【问题标题】:Modifying the color scheme for an Inno Setup Installer修改 Inno Setup 安装程序的配色方案
【发布时间】:2009-11-25 09:33:16
【问题描述】:

我一直在玩 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] 段以编程方式修改上部横幅颜色渐变?

【问题讨论】:

    标签: colors background inno-setup


    【解决方案1】:

    这四个参数在 Inno Setup 帮助的 [Setup] 部分的文档的 Cosmetic 部分中进行了描述。它们会按照您的预期进行,但不是针对设置向导上部区域的渐变,而是针对几年前习惯的背景窗口。这被认为是旧版,但可以通过设置启用

    [Setup]
    ...
    WindowVisible=yes
    

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

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

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

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

    【讨论】:

      【解决方案2】:

      这是一个老问题,但有人可能会像我一样在这里绊倒。更改 inno 设置配色方案最优雅的方法是使用名为ISSkin的第 3 方工具

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-01-29
        • 1970-01-01
        • 2010-11-06
        相关资源
        最近更新 更多