Das von vorhin hatte ich mit diesem hingeschluddert.
Delphi-Quellcode:
procedure TMainForm.ListBoxDrawItem(Control: TWinControl; Index: Integer;
aRect: TRect; State: TOwnerDrawState);
var
z : Byte;
s : String;
r : TRect;
begin
if not (Control is TListBox) then Exit;
with TListbox(Control) do
begin
z := ItemHeight;
s := Items[Index];
with Canvas do
begin
Brush.Style := bsSolid;
Brush.Color := clWhite;
if odSelected in State then Brush.Color := clGray;
FillRect(aRect);
Pen.Color := clBlack;
Brush.Color := StringToColor(s);
r := Rect(aRect.Left+1,aRect.Top+1,aRect.Left+z-1,aRect.Top+z-1);
Rectangle(r);
Brush.Style := bsClear;
TextOut(aRect.Left+z+z,aRect.Top+1,s);
end;
end;
end;
Als Items hatte ich einfach Farbkonstanten so wie clGreen ...
mfg Tobias