Recuperer la couleur d'une progressbar [Résolu]

Signaler
Messages postés
452
Date d'inscription
jeudi 4 décembre 2003
Statut
Membre
Dernière intervention
19 décembre 2008
-
Messages postés
452
Date d'inscription
jeudi 4 décembre 2003
Statut
Membre
Dernière intervention
19 décembre 2008
-
Voila, je checrhe non pas a mettre de la couleur dans une progressbar
(comme toutes les sources du site l'explique) mais a recuperer la
couleur de cette progressbar. (couleur + arriereplan)

Si quelqun avait une idee. Je me suis dit initialement que ce serait
facile, il devait bien exister un message PBM_GETBARCOLOR ou qqch du
genre, mais je n'ai pas trouve!

Merci d'avance

Vive le C
Tchao
[mailto:julienbj@hotmail.com Savon]

3 réponses

Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
7
PBM_SETBKCOLOR et PBM_SETBARCOLOR renvoient la couleur précedente:

LockWindowUpdate(hProgress);

COLORREF clrBar = SendMessage(hProgress, PBM_SETBARCOLOR, 0, CLR_DEFAULT);
if(clrBar != CLR_DEFAULT) SendMessage(hProgress, PBM_SETBARCOLOR, 0, clrBar);

COLORREF clrBack = SendMessage(hProgress, PBM_SETBKCOLOR, 0, CLR_DEFAULT);
if(clrBack != CLR_DEFAULT) SendMessage(hProgress, PBM_SETBKCOLOR, 0, clrBack);

LockWindowUpdate(0);

Le LockWindowUpdate ne doit pas être nécessaire, a mon avis on ne verra pas le changement de couleur
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
7
Rélexion faite, je pense qu'il faut enlever les test if(clrBack != CLR_DEFAULT) et if(clrBar != CLR_DEFAULT) car ils seront toujours faux (même si c'est c'est la couleur par défaut qui est séléctionnée, c'est la couleur elle même et pas CLR_DEFAULT qui sera retournée)
Messages postés
452
Date d'inscription
jeudi 4 décembre 2003
Statut
Membre
Dernière intervention
19 décembre 2008
12
Merci vecchio, la methode est interessante.

Je ne connaissais pas LockWindowUpdate, et je dois dire que ca risque d'etre assez utile.

Vive le C
Tchao
[mailto:julienbj@hotmail.com Savon]