Couleur dans un listView

Signaler
Messages postés
151
Date d'inscription
mardi 12 octobre 2004
Statut
Membre
Dernière intervention
15 avril 2009
-
Messages postés
1466
Date d'inscription
mardi 20 février 2007
Statut
Membre
Dernière intervention
7 février 2011
-
Bonjour tout le monde!
Je recherche un lien ou un tutorial , peux importe, kkchose pour pouvoir alterner les couleur de background d'un item dans un listView.
Ex: Item1 = bleu
Item2 = bleu pale
Item3 = bleu
etc...
Jai beau chercher, je trouve juste en .NET!
Je code en c++ sur XP, pas de .NET du tout...
QQun aurait une idde?


Merci bcp,



Pepsidrinker

2 réponses

Messages postés
966
Date d'inscription
samedi 3 avril 2004
Statut
Membre
Dernière intervention
4 mars 2010
4
Tu peux peut-être procéder la notification NM_CUSTOMDRAW (via WM_NOTIFY dans la fenêtre principale), il y a un champ pour la couleur de fond de l'item. Par contre, je ne sais pas si le système envoie un message par item ou un seul pour tous, auquel cas ça ne marchera pas.
Messages postés
1466
Date d'inscription
mardi 20 février 2007
Statut
Membre
Dernière intervention
7 février 2011
1
Salut,
Au cas où tu n'aurais pas vu, il y a une editbox de recherche ici, il suffit de taper "listview couleur" en ayant pris soin de sélectionner l'onglet "Codes" et... bref, en 2 secondes de recherche, tu tombes sur des exemples comme celui-ci.

Il existe sinon une méthode beaucoup plus simple (mais qui alourdira grandement l'exécutable final), si tu désires insérer des couleurs statiques, de préférences sur une listview non resizible. Il s'agit de dessiner le background (sur paint par exemple) au format bmp et d'ajouter l'image en background comme ceci :
LVBKIMAGE plvbki={0};
plvbki.ulFlags=LVBKIF_SOURCE_HBITMAP|LVBKIF_STYLE_TILE;
plvbki.hbm=LoadBitmap(hinstance,"background");
SendMessage(hwnd_ListView,LVM_SETBKIMAGE,0,(LPARAM)(LPLVBKIMAGE)&plvbki);

Mais bon... perso, je te conseille vivement le 1er lien.

Cordialement, uaip.