Colorier une listview une ligne sur deux

Résolu
retaks666 Messages postés 286 Date d'inscription jeudi 2 janvier 2003 Statut Membre Dernière intervention 16 juillet 2007 - 9 févr. 2005 à 14:44
retaks666 Messages postés 286 Date d'inscription jeudi 2 janvier 2003 Statut Membre Dernière intervention 16 juillet 2007 - 9 févr. 2005 à 17:15
Bonjour, comment faut il faire pour colorier une ligne sur deux dans un listview en mode report ? Je pensais utiliser tcustomListView mais j'y arrive pas.
Merci de m'aider :)

2 réponses

cs_Kenavo Messages postés 702 Date d'inscription vendredi 21 mars 2003 Statut Membre Dernière intervention 1 octobre 2009 5
9 févr. 2005 à 16:56
Salut,



Le plus simple, c'est de changer la couleur de la brosse du canvas avant le dessin de chaque item (évènement OnCustomDrawItem) :



Const

Couleur1 = $BBFFFF;

Couleur2 = $FFFFBB;



procedure TForm1.ListView1CustomDrawItem(Sender: TCustomListView;

Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);

begin

If Item.Index mod 2 = 0 then

Sender.Canvas.Brush.Color := Couleur1

else

Sender.Canvas.Brush.Color := Couleur2;

DefaultDraw := True;

end;



Et là, tu vas me dire : "Il reste les bordures qui ne sont pas colorées !" , et je répondrais "Oui !..."



Ken@vo

____________________

Code, Code, Codec !
3
retaks666 Messages postés 286 Date d'inscription jeudi 2 janvier 2003 Statut Membre Dernière intervention 16 juillet 2007
9 févr. 2005 à 17:15
lol merci ça marche ! Pur les bordures j'ai mis les gridlines ça se voit pas !
0
Rejoignez-nous