2009-11-25 3 views
3

J'ai joué avec Inno Setup 5.3.6; essayer de personnaliser les couleurs des installateurs. Principalement la bannière qui apparaît à la tête de l'installateur. Mais pour l'instant je n'ai pas de chance de trouver un moyen de le faire facilement. Après avoir lu la documentation, j'ai trouvé les paramètres BackColor, BackColor2, BackColorDirection et BackSolid. Mais leur donner des valeurs différentes ne m'a pour le moment donné aucun changement visuel.Modification du schéma de couleurs d'un programme d'installation Inno Setup

exemple rapide de ce que je suis en train de faire

[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 

Ce que je me demande est-ce que quelqu'un sait ce que les couleurs BackColor et BackColor2 modifie réellement? Et s'il n'y a pas de moyen simple de changer les couleurs; est-il possible de modifier par programmation le dégradé de couleur des bannières supérieures en utilisant le segment [Code]?

Répondre

7

Les quatre paramètres sont décrits dans la section cosmétique de la documentation du [Setup] section dans le Inno Setup aide. Ils font ce que vous attendez, mais pas pour le dégradé dans la partie supérieure de l'assistant d'installation, mais pour la fenêtre d'arrière-plan habituelle il y a quelques années. Ceci est considéré comme héritage, mais peut être activé en réglant

[Setup] 
... 
WindowVisible=yes 

(la valeur par défaut est no). Vous pouvez essayer ceci pour le voir en action, mais IMO vous ne devriez pas l'activer pour vos installations à moins que vous ne vouliez qu'elles aient l'air plutôt datées. En ce qui concerne la partie supérieure de l'assistant, il ne s'agit pas d'un dégradé. Si vous utilisez un outil comme Spy ++ pour vérifier la hiérarchie de fenêtre de l'assistant, ou ouvrez le fichier texte Wizard.dfm.txt à partir des sources Inno Setup, vous verrez qu'il y a une fenêtre de la classe TPanel avec le jeu de couleurs à la couleur de la fenêtre par défaut (clWindow si vous connaissez Delphi, ou le résultat de l'appel GetSysColor() avec la constante). Ceci est une couleur unie, que vous pouvez changer facilement en ajoutant ceci à votre [Code] section:

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

Je ne pense pas qu'il soit possible avec les versions Inno Setup actuelles pour dessiner un gradient sur ce panneau, parce que le panneau lui-même n'a pas de toile sur laquelle dessiner, et la classe TPaintBox qui pourrait peut-être être créé au bon endroit et être utilisé pour dessiner le gradient n'est pas disponible (voir la liste des classes dans le "Support Classes Reference "section de la documentation".

4

C'est une vieille question, mais quelqu'un pourrait trébucher ici comme je l'ai fait. La façon la plus élégante de changer les schémas de couleurs d'inno est d'utiliser un outil tiers appelé ISSkin

Questions connexes