Changer la couleur d'un static [Résolu]

mogwai93
Messages postés
361
Date d'inscription
mardi 31 décembre 2002
Dernière intervention
19 mars 2015
- 25 oct. 2005 à 21:27 - Dernière réponse : racpp
Messages postés
1910
Date d'inscription
vendredi 18 juin 2004
Dernière intervention
14 novembre 2014
- 27 oct. 2005 à 15:27
Bonjour,



j'aimerais modifier la couleur d'un objet static et la couleur de fond.



pour le moment, je n'ai trouvé qu'avec SetTextColor et SetBkColor

sauf que ca ne fonctionne qu'avec TextOut



mon static a été créé avec la méthode CreateWindow

est-ce qu'il existe un message à envoyer à l'objet static ?

ou une methode de contournement ?



merci



PS: je programme en win32 avec Devcpp
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
BruNews
Messages postés
21054
Date d'inscription
jeudi 23 janvier 2003
Dernière intervention
7 novembre 2014
- 25 oct. 2005 à 23:43
3
Merci
suffit d'un code dans ce genre:

case WM_CTLCOLORSTATIC:
if(GetWindowLong((HWND)lParam, GWL_ID) == IDST_COLOR) {
SetBkMode((HDC) wParam, TRANSPARENT);
SetTextColor((HDC) wParam, clrT);
return (BOOL) hbr;
}
return 0;

ciao...
BruNews, MVP VC++

Merci BruNews 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 86 internautes ce mois-ci

Commenter la réponse de BruNews
Meilleure réponse
BruNews
Messages postés
21054
Date d'inscription
jeudi 23 janvier 2003
Dernière intervention
7 novembre 2014
- 26 oct. 2005 à 15:32
3
Merci
Exemple ici:
CHOIX COULEURS (WIN32, NON MFC)
http://www.cppfrance.com/code.aspx?id=10501

ciao...
BruNews, MVP VC++

Merci BruNews 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 86 internautes ce mois-ci

Commenter la réponse de BruNews
mogwai93
Messages postés
361
Date d'inscription
mardi 31 décembre 2002
Dernière intervention
19 mars 2015
- 26 oct. 2005 à 15:08
0
Merci
merci,
ca fonctionne (en renseignant hbr, avec par exemple
hbr = CreateSolidBrush(RGB(0, 0, 255));
si l'on veut un fond bleu)

par contre, comment faire pour changer la couleur "sur demande", (clic sur un bouton par exemple) ?
car l'evenement WM_CTLCOLORSTATIC n'est appelé qu'à la création et au réaffichage de l'objet.

merci
Commenter la réponse de mogwai93
BruNews
Messages postés
21054
Date d'inscription
jeudi 23 janvier 2003
Dernière intervention
7 novembre 2014
- 26 oct. 2005 à 15:31
0
Merci
C'est appelé à chaque repaint, que soit du à un changement du texte ou un appel explicite à InvalidateRect.

ciao...
BruNews, MVP VC++
Commenter la réponse de BruNews
mogwai93
Messages postés
361
Date d'inscription
mardi 31 décembre 2002
Dernière intervention
19 mars 2015
- 26 oct. 2005 à 16:00
0
Merci
c'est bon, ca fonctionne !

merci
Commenter la réponse de mogwai93
racpp
Messages postés
1910
Date d'inscription
vendredi 18 juin 2004
Dernière intervention
14 novembre 2014
- 27 oct. 2005 à 15:27
Commenter la réponse de racpp

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.