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.