Artikel ini menjelaskan secara singkat bagaimana Delphi mengimplementasikan item di Listbox untuk menampilkan warna yang berbeda sesuai dengan kontennya.
Ubah properti Style ListBox1 menjadi lbOwnerDrawVariable
Dalam event OnDrawItem di ListBox, ubah properti Canvas sesuai dengan nilai item.
Contoh kodenya adalah sebagai berikut:
procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer; Rect: TRect; State: TownerDrawState);begin //Font menggunakan warna default asli jika Odd(index) lalu //Warna ketika indeks item ganjil nomor mulai listbox1 .Canvas.Brush.Color:=clwindow; ListBox1.Canvas.TextRect(Rect,rect.Left,Rect.Top,ListBox1.Items[index]); ; ListBox1 .Canvas.TextRect(Rect,rect.Left,Rect.Top,ListBox1.Items[index]); odDipilih dalam keadaan lalu //Warna saat dipilih mulai listbox1.Canvas.Brush.Color:=clhighlight; ListBox1.Canvas.TextRect(Rect,rect.Left,Rect.Top,ListBox1.Items[index]);