Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#7

AW: im Teltreestringgrid die Textfarbe einer Spalte ändern

  Alt 23. Mär 2013, 12:44
Schau dir doch mal an, was der Event dir alles liefert.

Ausserdem ist das ein Event der für jedes Item einzeln (beim Zeichnen dieses) aufgerufen wird.
Daraus folgt, dass du dich hier nur um dieses eine Item kümmern musst (und wichtiger auch nur sollst).

Das Row-fache Setzen der Font-Farbe bewirkt Schlimmstenfalls sogar ein ständiges Neuzeichnen des gesamten Controls, was wiederum das Zeichen der Items auslöst, was wieder die Font-Farbe setzt, was wieder das Neuzeichenen ... usw. usw. usw.

Diese Komponente ist mir nicht bekannt (vom Namen ja, sonst nicht), aber ich würde in dem Event mal vorsichtig damit anfangen:
Delphi-Quellcode:
procedure TForm1.ElTreeStringGrid1ItemDraw(Sender: TObject;
  Item: TElTreeItem; Surface: TCanvas; R: TRect; SectionIndex: Integer);
begin
  Surface.Font.Color:= clred;
end;
Wird jetzt alles rot, dann kannst du dich daran machen über das Argument Item herauszufinden, zu welcher Spalte das gehört.

Möglicherweise sollte das aber auch in den OnItemPreDraw Event (setzen der Canvas-Font-Farbe)
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)

Geändert von Sir Rufo (23. Mär 2013 um 12:47 Uhr)
  Mit Zitat antworten Zitat