Changer couleur fenetre

Signaler
Messages postés
1100
Date d'inscription
jeudi 24 avril 2003
Statut
Membre
Dernière intervention
17 octobre 2012
-
Messages postés
4
Date d'inscription
jeudi 7 avril 2005
Statut
Membre
Dernière intervention
20 avril 2007
-
Bonjour,



Je m'explique :

J'ai une fenetre avec un fond bleu mais quand je met une toolbar, une
trackbar ou des contrôles Win32 il y a une partie grisé (qui correspond
à la couleur Windows).



Comment changer cette couleur ?



Merci,



Le créateur du site http://victorlogiciels.com

8 réponses

Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
8
Avec SetClassLong, tu modifies GCL_HBRBACKGROUND, mais je crois que tous les contrôles ne l'acceptent pas.
Messages postés
627
Date d'inscription
mercredi 16 juin 2004
Statut
Membre
Dernière intervention
24 juillet 2011

victorcoasne> pour dessiner les controles (boutons, scroll etc) Windows envoie des messages à la fenetre tels que par exemple WM_COLORSTATIC etc...regarde cette belle source sur le sujet :

http://www.cppfrance.com/code.aspx?ID=27889

Gendal67, Dev-C++ 4.9.9.1, J'adore cppfrance!! :-))
Messages postés
1100
Date d'inscription
jeudi 24 avril 2003
Statut
Membre
Dernière intervention
17 octobre 2012
7
Bonjour,



Il me faudrait le code pour "msctls_trackbar32" et "ToolbarWindow32"



Merci,



Le créateur du site http://victorlogiciels.com
Messages postés
1100
Date d'inscription
jeudi 24 avril 2003
Statut
Membre
Dernière intervention
17 octobre 2012
7
Bonjour,



Le code marche pas comme ça :

SetClassLong(track1,GCL_HBRBACKGROUND,RGB(255, 255, 255));





Merci,



Le créateur du site http://victorlogiciels.com
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
8
Pour la ToolBar, peut être le message TB_SETCOLORSCHEME
Messages postés
1100
Date d'inscription
jeudi 24 avril 2003
Statut
Membre
Dernière intervention
17 octobre 2012
7
Bonjour,



Non marche pas.



TB_SETINSERTMARKCOLOR : marche pas non plus !



Et pour la track bar ?



Merci,



Le créateur du site http://victorlogiciels.com
Messages postés
1100
Date d'inscription
jeudi 24 avril 2003
Statut
Membre
Dernière intervention
17 octobre 2012
7
Bonjour,



La trackbar est considéré comme un static donc le message static fonctionne avec.



Pour la toolbar cela ne fonctionne pas !



Quel message ?



Merci,



Le créateur du site http://victorlogiciels.com
Messages postés
4
Date d'inscription
jeudi 7 avril 2005
Statut
Membre
Dernière intervention
20 avril 2007

Salut,

Désole de repondre un peu tard, mais peut etre que ca servira à quelqu'un...



en fait aucune des methodes citées ci desssus ne marche pour moi)

mais j'utilise ca :

dans le WM_NOTIFY :

// ID_SLIDERTHREADS est un 'TRACKBAR_CLASS'

if( (((LPNMHDR) lParam)->idFrom) == ID_SLIDERTHREAD)

{

if( (((LPNMHDR) lParam)->code) == NM_CUSTOMDRAW)

{

LPNMCUSTOMDRAW NMCustomDraw;

NMCustomDraw = (LPNMCUSTOMDRAW) lParam;

GetClientRect(SliderThreads.Hwnd, &TmpRect);

FillRect(NMCustomDraw->hdc,
&TmpRect, CreateSolidBrush(RGB(60, 120, 120)));

};

}; break;
et voilà :)