English 中文(简体)
Modifying the color scheme for an Inno Setup Installer
原标题:

I ve been playing around with Inno Setup 5.3.6; trying to customize the installers colors. Mainly the banner that appears at the head of the installer. But as of yet i have no luck finding a way of doing this easily.

After reading through the documentation I found the BackColor, BackColor2, BackColorDirection and BackSolid parameter. But giving them different values has as of yet not given me any visual change whatsoever.

Quick example of what I m trying to do

[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

What I m wondering is, does anyone know what colors BackColor and BackColor2 actually modifies? And if there is no simple way of changing the colors; is there any way to modify the upper banners color gradient programmatically using the [Code] segment?

问题回答

The four parameters are described in the Cosmetic section of the documentation of the [Setup] section in the Inno Setup help. They do what you would expect, but not for the gradient in the upper area of the setup wizard, but for the background window that was customary a few years ago. This is considered legacy, but can be enabled by setting

[Setup]
...
WindowVisible=yes

(the default value is no). You can try this to see it in action, but IMO you shouldn t enable this for your installations unless you want them to look rather dated.


As for the top area of the wizard: It is not meant to have a gradient. If you use a tool like Spy++ to check the window hierarchy of the wizard, or open the Wizard.dfm.txt text file from the Inno Setup sources, you will find that there is a window of the class TPanel with the colour set to the default window colour (clWindow if you know Delphi, or the result of calling GetSysColor() with the COLOR_WINDOW constant). This is a solid colour, which you can change easily by adding this to your [Code] section:

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

I don t think it is possible with the current Inno Setup versions to draw a gradient on this panel, because the panel itself has no canvas to draw on, and the TPaintBox class which could maybe be created in the right place and be used to draw the gradient isn t available (see list of classes in the "Support Classes Reference" section of the documentation).

this is an old question, but someone might stumble here like i did. The most elegant way to change the inno setup color schemes is by using a 3rd party tool called ISSkin





相关问题
using colors in calculated member

Im using this query in MDX for a calculate measure topcount(nonempty([StatusPlanes].[Status].Status.members,[Measures].[Planes]),1)(0).member_caption this will bring me this result Dimension1 ...

Using colors with MDX calculated measure

I m using this query in MDX for a calculated measure topcount(nonempty([StatusPlanes].[Status].Status.members,[Measures].[Planes]),1)(0).member_caption This will bring me this result Dimension1 ...

How can I convert a color image to grayscale in MATLAB?

I am trying to implement an algorithm in computer vision and I want to try it on a set of pictures. The pictures are all in color, but I don t want to deal with that. I want to convert them to ...

Hex colors: Numeric representation for "transparent"?

I am building a web CMS in which the user can choose colours for certain site elements. I would like to convert all colour values to hex to avoid any further formatting hassle ("rgb(x,y,z)" or named ...

How to change out-of-focus text selection color in Xcode?

Okay, I ll bite. I ve got really pleasant code/window colors set up in Xcode. Ordinarily, my selection color is very visible. When I am doing a project search and iterating through the results, ...

How to change Gmap markers color?

I ve a custom google map with different points: Markers[0] = new Array(new GMarker(new GLatLng(45.0, 9.0)), "Location1", "<strong>Address Line</strong><br/>Some information"); ...

热门标签