Pystyykö Delphissä (7) muuttamaan ListBoxin yksittäisen rivin väriä?
Siis joko taustan tai tekstin väriä?!?
Molemmat voi muuttaa. Ensin ListBox style = lbOwnerDrawFixed
Sitten alla olevaan tyyliin. Tuo muuttaa kaikki 'nämä punaisella' itemien taustat punaiseksi. Tekstin väri muuttuu font.color:lla.
onDrawItem event:
procedure TForm1.ListBox1DrawItem(Control: TWinControl;
Index: Integer; Rect: TRect; State: TOwnerDrawState);
begin
with listbox1.Canvas do begin
brush.Style:=bsSolid;
if listbox1.Items[index] = 'nämä punaisella' then
brush.Color:=clRed
else
brush.Color:=listbox1.Color;
pen.Color:=brush.Color;
rectangle(rect);
textout(rect.Left+1, rect.Top, listbox1.Items[Index]);
end;
end;ps. Index ei ole pascal:ssa varattu sana jota tarvitsee lihavoida. (Mod. siirsi tästä virinneen keskustelun muualle.)
Aihe on jo aika vanha, joten et voi enää vastata siihen.