Réponse acceptée !
Salut!
Vous me faites bien rire quand même. Lisez le forum et vous verrez que cette question est déjà revenue pas mal de fois et que la réponse a déjà été donnée! La solution est bien plus simple que vous ne le pensiez. Le fait est que cela vient d?un bug de Delphi, et oui ça arrive!

Une petite explication s?impose à mon avis concernant le fonctionnement de la création des composants lors du lancement de l?application.
Prenons par exemple le composant TPanel puisque c?est celui-ci qui nous pose problème. Celui-ci possède donc des propriétés qui on une valeur pas défaut. Lorsque à la conception vous changez une de ces propriétés, cette modification est notée dans le fichier .dfm de votre Form. Ainsi, si vous avez deux TPanel sur votre Form et que vous changer la couleur du premier en la mettant à "
clRed" par exemple, dans le code du fichier .dfm il sera déclaré les deux TPanel, mais pour le premier il indiquera en plus que la couleur a la valeur "
clRed" tandit que pour l?autre, il n?indiquera rien. Vous pouvez facilement constater de cela en cliquant droit sur votre Form et en choisissant dans le menu "
Voir comme texte". Lorsque votre application se crée, elle va donc tout naturellement modifier les paramètres des composants en fonction des indications notées dans le fichier .dfm.
Mais revenons à nos moutons ou plutôt à nos TPanel. Lorsque vous en placez un sur votre Form et que vous regardez dans l?inspecteur d?objets les propriétés "ParentBackGround" et "ParentColor", celles-ci sont renseignées comme étant à
False. Malheureusement, elles sont bel et bien à
True dans la configuration interne du composant, et donc lors du lancement de l?application, comme il n?est pas renseigné de les modifier, elles prennent la valeur réelle par défaut à savoir
True, et le TPanel prend donc la couleur de l?objet "parent" qui le contient.
Pour pouvoir palier à ce bug, il suffit de faire ce qui suit :
(En mode création) - faite passer les propriétés "ParentBackGround" et "ParentColor" à
True.
- Refaite passer les propriétés "ParentBackGround" et "ParentColor" à
False pour que soit noté dans le fichier .dfm que ces propriétés sont à l?état
False.
- Enfin, changer la couleur de votre TPanel.
Et voilà, ce n?est pas plus compliqué que cela et il n?y a pas besoin de d?utiliser un autre composant. Et pour répondre à Emandhal, cela arrive aussi en mode classique sous Windows XP à partir du moment où l?on utilise le composant TXPManifest.