aabdoos
Messages postés39Date d'inscriptionmardi 20 avril 2004StatutMembreDernière intervention 6 septembre 2008
-
30 août 2008 à 20:32
yann_lo_san
Messages postés1137Date d'inscriptionlundi 17 novembre 2003StatutMembreDernière intervention23 janvier 2016
-
31 août 2008 à 13:10
Bonjours a tout le groupe :)
voila je travail avec MFC VC++ 6.0
et je veux savoire comment je peux changer la cuoleur d'une ligne ou d'une colonne d'une ListCtrl en mode Report en temps de l'execution (at runtime)?
j'ai essaye la methode m_lst.SetTextColor(); ca a marche mais ca change la couleur de tout les element, (il leur donne la meme couleur) mais moi ce que je veux, est d'associer a chaque element (ligne/colonne) une couleur differente ?
svp...comment puis'je le faire ?
merci d'avance :)
yann_lo_san
Messages postés1137Date d'inscriptionlundi 17 novembre 2003StatutMembreDernière intervention23 janvier 201626 31 août 2008 à 13:10
Salut,
En API win32, on utilise le custom draw, et pour chaque item de la liste, on place un param personnalisé qui défini la couleur ou autre chose (List::nmcd.lItemlParam) :
Il suffit d'attribuer cette valeur au ListItem
LVITEM listItem;
listItem.lParam = param;
Au runtime, lorsque l'on modifie ou ajoute un item, ce parametres servira pour le dessin et donnera la bonne couleur.
// Si on veut des couleurs selon un etat particulier
En MFC, c'est a peu près la meme chose, sauf qu'il faut ajouter les messages par MACRO dans la classe du parent du ListView ou créer une classe dérivée de CListCtl et gérer les messages de reflexion ON_CONTROL_REFLECT si je me rappelle bien.