Guten abend
ich bin gerade dabei bei einer listbox nicht eine ganze zeile einzufärben, sondern nur einen einzelnen buchstaben also nicht die font eigenschaft, sondern ich möchte den buchstaben einfach nur hinterlegen. dazu hab ich bei ListBoxDrawItem folgendes geschrieben:
Delphi-Quellcode:
Listbox1.Canvas.TextOut(rect.Left,rect.Top,l); // Ersten Teil einfügen
Listbox1.Canvas.Brush.Color:=clred; // Farbe ändern
Listbox1.Canvas.TextOut(lw,rect.Top,m);// hinterlegten Teil einfügen
Listbox1.Canvas.Brush.Color:=clwhite; // Farbe zurücksetzen
Listbox1.Canvas.TextOut(lw+mw,Rect.Top,r);// letzten Teil einfügen
Das klappt auch alles soweit nur weiß ich nicht was ich für einen Hintergrund nehmen muss, damit man die schrift auch lesen kann, wenn der eintrag markiert ist. Bei weißem Hintergrund ist auch die schrift, wenns markiert ist, weißgefärbt.
Eine möglichkeit wäre ja die eigenschaft Listbox1.canvas.brush.color abzufragen doch wie geht das oder gibts da einen anderen weg? Vielen Dank im Voraus!