Dein Ansatz ist falsch, Michael. Du kannst nicht erst alles schwarz zeichnen und dann den markierten Eintrag grün - das Ereignis OnCustomDrawItem() gibt dir die Chance genau einen Eintrag zu zeichnen und du musst entscheiden, wie du ihn anmalen willst. Da der markierte Knoten sowieso schon hervorgehoben wird, macht das Färben dort eigentlich keinen Sinn, aber so gehts:
Delphi-Quellcode:
procedure TDemoForm.TreeViewCustomDrawItem(Sender: TCustomTreeView;
Node: TTreeNode; State: TCustomDrawState; var DefaultDraw: Boolean);
begin
if Node.Selected
then Sender.Canvas.Font.Color := clRed
else Sender.Canvas.Font.Color := clBlack;
end;
Grüße vom marabu
Mit diesem Code kann ich gleich prüfen, wer rot-grün-blind ist...