Article B0001 Delphi
Create colored lines within a TListBox component

The following code describes how to add colored lines into a TListBox component:
    
procedure TForm1.FormCreate(Sender: TObject);
begin
  // Set this property in the object inspector
  ListBox1.Style := lbOwnerDrawFixed;
end;
procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;
                                  Rect: TRect; State: TOwnerDrawState);
begin
  with Control as TListBox do
  begin
    Canvas.FillRect(Rect);
    Canvas.Font.Color := TColor(Items.Objects[Index]);
    Canvas.TextOut(Rect.Left + 2, Rect.Top, Items[Index]);
  end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
  ListBox1.Items.AddObject('Red Item', Pointer(clRed));
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
  ListBox1.Items.AddObject('Green Item', Pointer(clGreen));
end;