Draw Iteam do każdego itemu osobno

Draw Iteam do każdego itemu osobno
DK
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 64
0

Witam, rysuję na ListBoxie obrazki za Pomocą OnDrawItem
wygląda to tak:

Kopiuj
 ImageList1.Draw(ListBox1.Canvas, ARect.Left + 2, ARect.Top + 1, 0);
  TextOut(ARect.Left + 50, ARect.Top + 1, ListBox1.Items[Index]);  

To sprawia, że obrazek z ImageList o Indexie 0 jest rysowany na każdym itemie.
Jednak ja chciałbym, aby na każdym itemie był inny obrazek, zrobiłem coś takiego:

Kopiuj
Case ListBox1.ItemIndex of
begin
0: 
begin
 ImageList1.Draw(ListBox1.Canvas, ARect.Left + 2, ARect.Top + 1, 0);
  TextOut(ARect.Left + 50, ARect.Top + 1, ListBox1.Items[Index]);  
end;
1:
begin
 ImageList1.Draw(ListBox1.Canvas, ARect.Left + 2, ARect.Top + 1, 1);
  TextOut(ARect.Left + 50, ARect.Top + 1, ListBox1.Items[Index]);  
end;

Jenak nie przynosi to rezultatu, jaki oczekiwałem, co prawda gdy kliknę w dany item obrazek się zmienia, ale z nim wszystkie pozostałe.
Może Wy wiecie, gdie robię błąd ?

_13th_Dragon
  • Rejestracja: dni
  • Ostatnio: dni
1
Kopiuj
ImageList1.Draw(ListBox1.Canvas, ARect.Left + 2, ARect.Top + 1, Index);
TextOut(ARect.Left + 50, ARect.Top + 1, ListBox1.Items[Index]); 

Czy przypadkiem nie próbujesz zrobić animacje?

DK
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 64
0

nie animację, po prostu rysuje mi to obrazki po listbox'ie
tylko chcę dla każdego itemu inny obrazek :).

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.