TListView Einträge farbig machen
-
Bei einer ListBox müsste man das Kästchen selber malen. Wie das bei einer ListView und CustomOwnerDraw ist weiss ich nicht.
Du hast ja alle Infos um dein Kästchen selber zu malen (z.Bsp. mit FillRect), also machs doch einfach.
-
Danke, das funktioniert.
Leider ist das sehr unpraktisch, da ich dann die gesamten TListItems mit ihren ganzen Funktionen und Erscheinungsformen nachempfinden müsste.
-
Hallo,
Hast Du das schon probiert :
void __fastcall TForm1::ListView1CustomDrawItem(TCustomListView *Sender, TListItem *Item, TCustomDrawState State, bool &DefaultDraw) { Sender->Canvas->Font->Color = clBlack; Sender->Canvas->Brush->Color = clRed; }Bei VCL-Projekten funktioniert es.
OwnerDraw ist falseNash
-
Bei CLX hat Sender leider nicht die Eigentschaft Canvas nicht.
In was muss ich das casten?
-
Hallo
wie in diesem Thread auf Seite 2 bereits beschrieben ist, ist in der CLX die Canvas-Fläche ein Extra-Parameter der Events.
bis bald
akari
-
Wie auch bereits im Thread beschrieben, bringt die Manipulation des Canvas-Parameter keine Änderung.
Ich glaube, wie drehen uns im Kreis.
-
void __fastcall TForm1::ListView1CustomDrawItem(TCustomViewControl *Sender, TCustomViewItem *Item, TCanvas *Canvas, const TRect &Rect, TCustomDrawState State, TCustomDrawStage Stage, bool &DefaultDraw) { Canvas->Brush->Color = clLime; Canvas->FillRect(Rect); }Funktioniert problemlos.