Du darfst an Stage nichts zuweisen sondern musst es auswerten!
Delphi-Quellcode:
procedure TForm1.TreeView1AdvancedCustomDrawItem(Sender: TCustomTreeView;
Node: TTreeNode; State: TCustomDrawState; Stage: TCustomDrawStage;
var PaintImages, DefaultDraw: Boolean);
begin
if Stage = cdPrePaint then
with TreeView1.Canvas do
begin
if cdsSelected in State then
begin
Brush.Color := clBlack;
Font.Color := clWhite;
end else
begin
Brush.Color := clWhite;
Font.Color := clBlack;
end;
FillRect(Node.DisplayRect(false));
end;
// Bei den beiden bin ich mir nicht sicher, ob sie noch in das erste IF gehören
PaintImages := True;
DefaultDraw := True;
end;