Ich wollte die Baumknoten farblich hervorherben. Ursprünglich hab ich hier im Forum gesucht und habe mit brush. color gute Ergebnisse erziehlt. Nachteil der Methode. Klicke ich jetzt auf nicht eingefärbte Baumknoten wird die Schrift nicht mehr angezeigt, sondern vom Auswahl weiß offenbar übermalt.
Dann habe ich nur die font.color geändert. Damit das gut aussieht habe ich doublebuffered angemacht. Leider sieht das bei mir so aus, als ob ich die Farbe immer erst für das nachfolgende Baumitem setze, obwohl oncustomdrawitem vor dem Zeichnen aufgerufen werden soll. Konkret:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| begin tree:=TTreeview(sender); tree.DoubleBuffered:=true; if node.Text='nicht zugewiesen' then begin tree.Font.Color:=clred; end else begin tree.Font.Color:=clblack; end; end; |
fördert leider nur soetwas zutage also so, als ob ich das nach dem Zeichnen aufrufen würde.
Stammdaten
.....|_PatNr
..........|_nicht zugewiesen
.....|_
lebt
usw.
Weiß da jemand eine Lösung? Ein repaint oder wie es heißt in der Draw Prozedur führt ja auch zu Endlosschleifen.