บทความนี้จะอธิบายโดยย่อว่า Delphi ใช้งานรายการต่างๆ ในกล่องรายการเพื่อแสดงสีต่างๆ ตามเนื้อหาอย่างไร ขั้นตอนการใช้งานมีดังนี้:
เปลี่ยนคุณสมบัติสไตล์ของ ListBox1 เป็น lbOwnerDrawVariable
ในเหตุการณ์ OnDrawItem ของกล่องรายการ ให้เปลี่ยนคุณสมบัติ Canvas ตามค่าของรายการ
รหัสตัวอย่างจะเป็นดังนี้:
ขั้นตอน TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer; Rect: TRect; State: TownerDrawState);begin //ฟอนต์ใช้สีเริ่มต้นดั้งเดิม ถ้า Odd(index) แล้ว //สีเมื่อดัชนีของไอเท็มเป็นเลขคี่ หมายเลขเริ่มต้น listbox1 .Canvas.Brush.Color:=clwindow; ListBox1.Canvas.TextRect(Rect,rect.Left,Rect.Top,ListBox1.Items[index]); end else //สีเมื่อดัชนีของรายการเป็นเลขคู่ ให้เริ่ม listbox1.Canvas.Brush.Color:=clinactivecaptiontext ; ListBox1 .Canvas.TextRect(Rect,rect.Left,Rect.Top,ListBox1.Items[ดัชนี]); odSelected ในสถานะแล้ว //สีเมื่อเลือก start listbox1.Canvas.Brush.Color:=clhighlight; ListBox1.Canvas.TextRect(Rect,rect.Left,Rect.Top,ListBox1.Items[index]);