Delphi. Listbox, kolor wpisywanego tekstu

0

Siema.
Da się zrobić tak, aby pół nazwy w listbox była w np. w kolorze czarnym a druga połowa w czerwonym. Np. mam listbox'a i:
<p></p> - Akapit
i da sięzrobić tak, aby

było czerwone a reszta czarna ?</p>
0

Oczywiście - OwnerDraw.

0

Owszem, można; Tak jak napisał @_13th_Dragon musisz skorzystać z OwnerDraw i możliwości jakie daje klasa TCanvas; Możesz to wykonać na wiele sposobów, np. podzielić łańcuch na poszczególne części, które będą rysowane w odrębnym kolorze i w pętli zmieniać właściwość Font.Color i rysować dzięki metodzie TextOut; Musisz także zmierzyć długość poszczególnych kawałków w pikselach - do tego użyj metody TextWidth; To wszystko;

Zawsze możesz w pętli skanować znaki i ustalać warunkami na bieżąco kolor czcionki oraz jej atrybuty; Będziesz miał mniej roboty i mniej pamięci zjedzą dane pomocnicze;

Nie wiem która metoda będzie szybsza i ogólnie pisząc lepsza - musiałbym sprawdzić; Pobaw się trochę i przede wszystkim poczytaj o tej klasie z różnych kursów i tutoriali, jest wiele artykułów w sieci bardzo przydatnych do tego celu także na tym forum;

1 użytkowników online, w tym zalogowanych: 0, gości: 1