Einzelnen Beitrag anzeigen

xaromz

Registriert seit: 18. Mär 2005
1.682 Beiträge
 
Delphi 2006 Enterprise
 
#6

Re: TreeView: Item komplett markieren?

  Alt 7. Aug 2005, 10:58
Hallo,

also hiermit gehts:
Delphi-Quellcode:
procedure TForm1.TreeView1CustomDrawItem(Sender: TCustomTreeView;
  Node: TTreeNode; State: TCustomDrawState; var DefaultDraw: Boolean);
var
  NodeRect: TRect;
begin
  NodeRect := Node.DisplayRect(False);
  if cdsSelected in State then
    Sender.Canvas.Brush.Color := clLime
  else
    Sender.Canvas.Brush.Color := TTreeView(Sender).Color;

  Sender.Canvas.FillRect(NodeRect);

  DefaultDraw := True;
end;
Das einzige Problem: Sobald man auf das Handle des Canvas zugreift (z. B. über FillRect) wird die Schrift verstellt , aber nur bei nicht markierten Nodes. Keine Ahnung warum oder wie man das verhindert. Siehe dazu das Bild.

Gruß
xaromz
Miniaturansicht angehängter Grafiken
treeview_203.jpg  
  Mit Zitat antworten Zitat