Kolor tekstu w TListView (vsList)

dział ogólny

Kolor tekstu w TListView (vsList)

Nowy postprzez Mironas » czwartek, 8 listopada 2012, 19:38

Komponent TListView
ListView1->ViewStyle = vsList;

Chciałbym pokolorować teksty itemów. W poniższym przykładzie poprawnie koloruje tło, ale nie reaguje na ustawienia
ListView1->Canvas->Font->Color.
Cały czas teksty mam rysowane zgodnie z
ListView1->Font->Color

Znalezione porady dotyczą kolorowania tekstu w kolumnach dla ViewStyle = vsReport.
Ma ktoś jakieś sugestie?

KOD cpp:     UKRYJ  
void __fastcall TFrame_Unit1::ListView1AdvancedCustomDrawItem(TCustomListView *Sender, TListItem *Item, TCustomDrawState State, TCustomDrawStage Stage, bool &DefaultDraw)
{
  String tekst = Item->Caption;
  TRect rect = Item->DisplayRect(drLabel);
  int x = rect.left + 2;
  int y = rect.top + (rect.Height()-ListView1->Canvas->TextHeight(tekst))/2;

  if ( tekst.Length() > 10 )
  {
    ListView1->Canvas->Brush->Color = clGreen;
    ListView1->Canvas->Font->Color = clRed;    // <-- to nie działa
  }
  else
  {
    ListView1->Canvas->Brush->Color = clWhite;
    ListView1->Canvas->Font->Color = clBlue;    // <-- to nie działa
  }

  // rysowanie
  ListView1->Canvas->Rectangle(rect);
  ListView1->Canvas->TextRect(rect, x, y, tekst);
}
 


[EDIT]
Po przeniesieniu kodu do ListView1CustomDrawItem koloruje fonty ale:
1. Błędnie koloruje wybrany item.
2. Gubi kolor fontu po najechaniu myszką na dany item.
Avatar użytkownika
Mironas
Programista I
Programista I
 
Posty: 427
Dołączył(a): poniedziałek, 2 stycznia 2012, 19:02
Podziękował : 17
Otrzymał podziękowań: 61
System operacyjny: Windows 10
Kompilator: C++Builder 10.3 Rio
TMS Components Pack
Gadu Gadu: 0
    Windows XPChrome

  • Podobne tematy
    Odpowiedzi
    Wyświetlone
    Ostatni post

Powrót do Ogólne problemy z programowaniem

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 17 gości

cron