Comment modifier la couleur d'une ligne de ListView ?

[Résolu]
Signaler
Messages postés
197
Date d'inscription
samedi 3 janvier 2004
Statut
Membre
Dernière intervention
17 décembre 2014
-
Messages postés
197
Date d'inscription
samedi 3 janvier 2004
Statut
Membre
Dernière intervention
17 décembre 2014
-
Bonjour,

Je souhaiterai savoir comment affecter par exemple la couleur ClRed à la ligne 2 ?

J'ai eu beau chercher mais je n'ai pas trouvé,

Merci pour vos conseils.

9 réponses

Messages postés
197
Date d'inscription
samedi 3 janvier 2004
Statut
Membre
Dernière intervention
17 décembre 2014

Bonjour et merci de cet exemple,

Je l'ai vu cette exemple avant de poster ma question, mais je ne suis hélas pas arrivé à l'exploiter.

Aussi je repose la question, il y a t'il une méthode à peu prés simple pour coloriser la ligne souhaitée ?
Messages postés
4720
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
31 juillet 2021
14
l'exemple fourni exploite l'évènement :
OnAdvancedCustomDrawSubItem

mais je ne suis hélas pas arrivé à l'exploiter.

??
cantador
Messages postés
197
Date d'inscription
samedi 3 janvier 2004
Statut
Membre
Dernière intervention
17 décembre 2014

Bonjour,

Je vais regarder. Merci.
Messages postés
2527
Date d'inscription
jeudi 15 janvier 2004
Statut
Membre
Dernière intervention
16 octobre 2019
18
Salut,

Une ListBox ne serait pas suffisant, dans ton cas?

Parce que c'est facile de surligner une ListBox... et donc je sais le faire.   héhéhé
Messages postés
4720
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
31 juillet 2021
14
@Caribensila:
c'est vrai les questions sont de plus en plus difficiles..
c'est pas juste...
d'ici peu, il faudra rendre la copie sous huit jours

cantador
Messages postés
3826
Date d'inscription
vendredi 23 juillet 2004
Statut
Modérateur
Dernière intervention
10 mai 2021
45
pourtant l'exemple est aussi simple qu'avec une ListBox
il y a juste un évènement en plus pour les SubItems mais le principe reste le même

 
@+
Cirec

<hr siz="" />
Messages postés
2527
Date d'inscription
jeudi 15 janvier 2004
Statut
Membre
Dernière intervention
16 octobre 2019
18
...
Quand je dis que c'est facile, c'est parce que j'ai le code sous le coude.


Et que je me sens un peu fainéant aujourd'hui. Pas envie d'aller regarder sous la jupe de la Listview...       

Et de toute façon, c'est Vieuxpere qui cherche à détourner la mineure...
Messages postés
2527
Date d'inscription
jeudi 15 janvier 2004
Statut
Membre
Dernière intervention
16 octobre 2019
18
Ok!  Mais c'est seulement parce que je respecte les petits chenus qui regardent pas sous les jupes des filles...  :)))



C'est un code pour une ListBox qu'il te faudra adapter selon les indications de Cirec et en fonction de tes besoins, ok?

// Propriété "Style" de  ListBox1 = lbOwnerDrawFixed.

// Code à coller dans l'événement "OnDrawItem" :



procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;
  Rect: TRect; State: TOwnerDrawState);
  var Col : TColor;
  begin
  if Index = 1 then Col := clRed //Couleur du surlignement pour la 2ème ligne..
  else Col := (Control as TListBox).Color;// ..sinon pas de couleur
  {Dessin du fond du ListBox en "surligné".}
  (Control as TListBox).Canvas.Brush.Style := bsSolid;
  (Control as TListBox).Canvas.Brush.Color := Col;
  (Control as TListBox).Canvas.FillRect(Rect);
  {Dessin du texte en noir.}
  (Control as TListBox).Canvas.Brush.Style := bsClear;
  (Control as TListBox).Canvas.Font.Color := clBlack;
  (Control as TListBox).Canvas.TextOut
         (Rect.Left+1, Rect.Top +1, (Control as TListBox).Items.Strings[Index]);
end;




{Exemple d'utilisation : à la 2ème ligne, ce sera surligné en rouge.}
procedure TForm1.Button1Click(Sender: TObject);
begin
ListBox1.Items.Add('Une nouvelle ligne');
end;
Messages postés
197
Date d'inscription
samedi 3 janvier 2004
Statut
Membre
Dernière intervention
17 décembre 2014

Merci à tous, j'ai enfin les bons outils pour poursuivre...