3

私はInnoSetup5.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が実際にどの色を変更するか知っている人はいますか?そして、色を変更する簡単な方法がない場合。[コード]セグメントを使用してプログラムで上部バナーのカラーグラデーションを変更する方法はありますか?

4

2 に答える 2

8

4 つのパラメータについては、Inno Setup ヘルプの[Setup]セクションのドキュメントのCosmeticセクションで説明されています。彼らはあなたが期待することをしますが、セットアップウィザードの上部領域のグラデーションではなく、数年前に慣例であった背景ウィンドウに対して. これはレガシーと見なされますが、設定によって有効にすることができます

[Setup]
...
WindowVisible=yes

(デフォルト値は ですno)。これを試して動作を確認することはできますが、IMO では、インストールをかなり時代遅れに見せたくない場合を除き、インストールに対してこれを有効にしないでください。

ウィザードの上部領域について: グラデーションを持つことを意図したものではありません。Spy++ などのツールを使用してウィザードのウィンドウ階層を確認するか、Inno Setup ソースからWizard.dfm.txtTPanelテキスト ファイルを開くと、色がデフォルトに設定されたクラスのウィンドウがあることがわかります。ウィンドウの色 ( clWindowDelphi を知っている場合、または定数で呼び出した結果) GetSysColor()COLOR_WINDOWこれは単色で、これを[コード]セクションに追加することで簡単に変更できます。

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

パネル自体には描画するキャンバスがなく、適切な場所に作成して描画に使用できるTPaintBoxクラスがあるため、現在のInno Setup バージョンではこのパネルにグラデーションを描画することはできないと思いますグラデーションは使用できません (ドキュメントの「サポート クラス リファレンス」セクションにあるクラスのリストを参照してください)。

于 2009-11-27T22:07:05.213 に答える
4

これは古い質問ですが、私のように誰かがここでつまずくかもしれません。inno セットアップの配色を変更する最もエレガントな方法は、ISSkinと呼ばれるサードパーティ ツールを使用することです。

于 2010-07-23T20:14:07.783 に答える