Wiem, że to już pewnie było, ale nigdzie nie mogę znaleźć :(
Jak zmienić kolor czcionki określonego itema w ListBox?
Np. czcionka w całym listBoxie jest czarna, a ja chcę, żeby np. item trzeci miał czerwoną czcionkę
Wiem, że to już pewnie było, ale nigdzie nie mogę znaleźć :(
Jak zmienić kolor czcionki określonego itema w ListBox?
Np. czcionka w całym listBoxie jest czarna, a ja chcę, żeby np. item trzeci miał czerwoną czcionkę
OnDrawItem
OnDrawItem
Ale co z tym?
Zmieniam style na OwnerDrawFixed(czy jakoś tak) i robię w tym zdarzeniu:
if index=2 then listBox1.font.color:=clRed;
Ale albo nic się nie pokazuje w ListBox, albo to w ogóle nie działa...
OnDrawItem
Ale co z tym?
strawdzasz, cy to ten item...
then
ListBox1.Canvas.Font.Color := clRed;
strawdzasz, cy to ten item...
then
ListBox1.Canvas.Font.Color := clRed;
No ręce opadają. Co ja robię źle?
Mam na formie button i listBox.
W listboxie mam 4 itemy i styl na lbOwnerDrawFixed
Kod buttona:
(i to zmienna globalna - integer na początku ma wartość 0)
if i=listBox1.Count-1 then i:=0 else i:=i+1;
ListBox1DrawItem(listBox1, i, listBox1.ItemRect(i), []);
I procedurka:
procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState);
begin
if listBox1.ItemIndex=i then listBox1.Canvas.Font.Color:=clRed else listBox1.Canvas.Font.Color:=clBlack;
end;
Źle wywołuje DrawItem, czy co... Ja już nie wiem...
Oczywiście po wciśnięciu buttona, czerwony kolorek ma przejść na item niżej, a reszta ma być czarna.
W ogóle listBox po uruchomieniu jest pusty. Tzn. są na itemach tylko krawędzie prostokątów(tych od zaznaczania), ale żadnej konkretnej linijki nie widać
Walka z wiatrakami...