Pot introduce o imagine în cutia de listă

Pot introduce o imagine în cutia de liste?

Există înregistrări și, în funcție de condiții, aș dori să adaug propriul meu film la fiecare. Pot face acest lucru în lista de liste? Codul este foarte necesar.






Vă mulțumim în avans!

În ajutorul OnDrawItem există un exemplu

procedura TForm1.ListBox1DrawItem (Control: TWinControl; Index: Integer;
# xA0; Rect: TRect; Stat: TOwnerDrawState);
începe
# xA0; ListBox1.Canvas.FillRect (Rect);
# xA0; ImageList1.Draw (listaBox1.Canvas, 1, 0, 0, true);
# xA0; ListBox1.Canvas.TextOut (Rect.Left + 19, Rect.Top + 1, ListBox1.Items.Strings [0]);
se încheie;

procedura TForm1.FormCreate (expeditor: TObject);
începe
# xA0; ListBox1.Style: = lbOwnerDrawFixed;
se încheie;


> Maimuță nebună # xA0; (14/09/06 16:15)


> și în funcție de condiții

Există o mulțime de condiții, dar trebuia să știu mai ales cum să atragă o listă.

Vă mulțumim pentru răspuns!

Și nu-mi spuneți cum să fiu? Cum se completează toate înregistrările într-o singură fotografie? Iată codul:
procedura TForm1.ListBox1DrawItem (Control: TWinControl; Index: Integer;






Rect: TRect; Stat: TOwnerDrawState);
începe
ListBox1.Canvas.FillRect (Rect);
ImageList1.Draw (ListăBox1.Canvas, 1, 0, 0, true);
ListBox1.Canvas.TextOut (Rect.Left + 19, Rect.Top + 1, ListBox1.Items.Strings [0]);
se încheie;

vă permite să desenați o fotografie numai în prima linie, dar cum să desenați aceeași imagine în toate liniile pe care le-am adăugat?

El nu atrage pe unul, ci pe mulți, dar într-un singur loc. Pentru a specifica coordonatele, trebuie să utilizați Rect, așa cum faceți în cazul ieșirii textului

> vă permite să desenați o imagine numai în prima linie și
> cum să desenezi una și aceeași imagine în toate liniile care au
> Am adăugat?

OnDrawItem este apelat pentru fiecare rând din listă. Numărul liniei curente este transferat în parametrul Index, zona de desen curent este în parametrul Rect. Am citit, la urma urmei, Ajutor.

PS La "durerea programatorului" codul este oarecum incorect.


> Maimuță nebună # xA0; (14.09.06 21:24) [4]

procedura TForm1.ListBox1DrawItem (Control: TWinControl; Index: Integer;
# xA0; Rect: TRect; Stat: TOwnerDrawState);
începe
# xA0; ListBox1.Canvas.FillRect (Rect);
# xA0; ImageList1.Draw (listaBox1.Canvas, Rect.Left + 1, Rect.Top 0, true);
# xA0; ListBox1.Canvas.TextOut (Rect.Left + 19, Rect.Top + 1, Text);
se încheie;

Mulțumesc, dragă!
Mai ales GoretProgramist! Respect.

Am făcut codul final astfel:

ListBox1.Canvas.FillRect (Rect);
Form1.ImageList1.Draw (listaBox1.Canvas, Rect.Left + 1, Rect.Top, 0, true);
ListBox1.Canvas.TextOut (Rect.Left + 19, Rect.Top + 1, ListBox1.Items.Strings [index]);







Trimiteți-le prietenilor: