Salut à tous
j'ai un petit problème de couleur sur Listbox
j'ai une variable "i" entier
et je veux si (i=0) la première ligne de listbox sera en rouge
et si (i=1) la deuxième ligne de listbox sera en rouge .... et
j'ai essayé ce code normalement ça marche mais...
le problème est qu'il se rafraîchit pas pour changer les couleurs
il change seulement la première ligne malgré que la variable i se change
il manque quelque chose !!!:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;
  Rect: TRect; State: TOwnerDrawState);
begin
with(Control as TListBox).Canvas do  // Le dessin se fait sur le canevas du contrôle, pas dans la fiche
    begin
 
     if Index=i then
 
       Brush.Color:=clRed ;
 
    FillRect(Rect); // Efface le rectangle
    // Dessin du texte
    TextOut(Rect.Left,Rect.Top,(Control as TListBox).Items[Index]);//affiche le texte
 
  end;
end;
Remarque : la variable i est déclarée en début de form

Merci d'avance