Panel qui change de couleur??? [Résolu]

cs_apoke 20 Messages postés vendredi 17 janvier 2003Date d'inscription 8 février 2005 Dernière intervention - 11 oct. 2004 à 20:34 - Dernière réponse : cs_apoke 20 Messages postés vendredi 17 janvier 2003Date d'inscription 8 février 2005 Dernière intervention
- 18 oct. 2004 à 21:36
Salut tout le monde j'ai un problème avec un panel dont la couleur lors de la création est bleu.en fait il y'a des dbedit connecté à une table dans ce panel et dès que j'éxecute le programme le panel prend la couleur de la form (dans mon cas gris) impossible de garder la couleur bleu que je désir.
Merci d'avance pour votre aide car je galère grave.
@++
Afficher la suite 

6 réponses

Répondre au sujet
cs_LeGuepard 41 Messages postés mardi 16 septembre 2003Date d'inscription 7 septembre 2015 Dernière intervention - 15 oct. 2004 à 11:12
+3
Utile
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! :shy)

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.
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_LeGuepard
Emandhal 199 Messages postés dimanche 2 mars 2003Date d'inscription 10 octobre 2006 Dernière intervention - 11 oct. 2004 à 21:15
0
Utile
J'ai eut le même problème, ça arrive lorsqu'il y a un thème Windows de mis à part le classic.
Pour y remédier il faut soit utiliser autre chose qu'un panel ou alors dériver le composant TPanel et enlever la gestion des thèmes.

Tout problème a sa solution... Mais en général, c'est jamais la bonne...
Commenter la réponse de Emandhal
Loulibier 323 Messages postés jeudi 6 juin 2002Date d'inscription 24 septembre 2008 Dernière intervention - 11 oct. 2004 à 21:18
0
Utile
salut,

Si tu utilises le composant pour avoir le look Windows ou la resource WindowsXP, il est tout à fait normale que tu ais ton panel de la même couleur que ta forme. Cela ne viens pas de son contenu. Par contre je ne pourrais pas te dire comment y remedier, a part redessiner toi même ton Panel.

Bonne Prog, ;)

Olivier

PS : Lorsqu'une réponse vous convient, n'oubliez pas de la valider.
Commenter la réponse de Loulibier
JulioDelphi 2354 Messages postés dimanche 5 octobre 2003Date d'inscription 18 novembre 2010 Dernière intervention - 12 oct. 2004 à 02:29
0
Utile
hello,
la solution est la suivante (fonctionne puisque testée) :

Emandhal et Loulibier ont tout a fait raison :
1) il faut utiliser un dérivé du composant TPanel
2) redessiner toi même ton Panel

moie je dit :
3) mets un ProPanel ! le theme n'est pas pris en compte, tu peux trouver la librairie PRO (free) sur google ou ici :


N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient ! ;)
Commenter la réponse de JulioDelphi
JulioDelphi 2354 Messages postés dimanche 5 octobre 2003Date d'inscription 18 novembre 2010 Dernière intervention - 15 oct. 2004 à 12:13
0
Utile
HAAAAA bien joué LeGuepard ! "Réponse acceptée" ;)

N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient ! ;)
Commenter la réponse de JulioDelphi
cs_apoke 20 Messages postés vendredi 17 janvier 2003Date d'inscription 8 février 2005 Dernière intervention - 18 oct. 2004 à 21:36
0
Utile
Merci beaucoup les gars, vous êtes super!!
@++
Commenter la réponse de cs_apoke

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.