Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
4923 connectés 

  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  ListBox OwnerDraw

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

ListBox OwnerDraw

n°689344
AGA
La boîte à Bokeh!
Posté le 01-04-2004 à 09:32:47  profilanswer
 

Salut,
 
je cherche un tutorial sur la manière de dessiner soi-même une listbox? Alterance de couleur de fond 1 sur 2 par exemple.
 
 
Je ne trouve pas ou seulement des trucs pour VB.
 
Merci.

mood
Publicité
Posté le 01-04-2004 à 09:32:47  profilanswer
 

n°699522
cpdump
Posté le 14-04-2004 à 18:42:35  profilanswer
 

Il faut definir une fonction qui sera appeller chaque item, j'avais une url mais je la retrouve pas  :o  
 
Voila ce que j'utilise pour mettre en gras l'element par défaut d'une liste. Je recupère l'objet associé à l'entrée grace à Items.Objects[Index]
 

Code :
  1. //
  2. // Affiche le profil en gras si profil par défaut
  3. //
  4. procedure TFormProfilSelect.ListBoxProfilDrawItem(Control: TWinControl; Index: Integer;
  5.   Rect: TRect; State: TOwnerDrawState);
  6. begin
  7.     with Control as TListBox do
  8.     begin
  9.         Canvas.FillRect(Rect);
  10.         // Mettre en gras si Profile par défaut
  11.         if PProfilEntry(Items.Objects[Index]).peDefault then
  12.             Canvas.Font.Style := [fsBold]
  13.         else
  14.             Canvas.Font.Style := [];
  15.         Canvas.TextOut(Rect.Left + 2, Rect.Top, Items[Index]);
  16.     end;
  17. end;


Message édité par cpdump le 14-04-2004 à 18:45:10
n°701566
Whiler
Posté le 17-04-2004 à 10:52:45  profilanswer
 

Code :
  1. procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;
  2.   Rect: TRect; State: TOwnerDrawState);
  3. begin
  4.   with Control as TListBox do
  5.   begin
  6.     if (index mod 2 = 0) then
  7.       Canvas.Brush.Color := clGradientInactiveCaption
  8.     else
  9.       Canvas.Brush.Color := clWindow;
  10.     Canvas.FillRect(Rect);
  11.     Canvas.TextOut(Rect.Left + 2, Rect.Top, Items[Index]);
  12.   end;
  13. end;


 
Avec le

Style

du ListBox à

lbOwnerDrawVariable

.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  ListBox OwnerDraw

 

Sujets relatifs
ListBox Unicode[résolu]pour chaque élement sélectionné de ma listbox fair...
export listbox (vba)ListBox et Image
ListBox : scrollbar horizontale automatique ?Connaitre les éléments d'une ListBox ?
élément d'une listbox[VB] ListBox sans ascenseur ?
[Borland] Récupérer une chaine de char contenue dans une listbox[Access][VBA] Selectionner automatiquement une valeur d'une listbox ?
Plus de sujets relatifs à : ListBox OwnerDraw


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)