请问如何控制TreeView树的任一结点的显示颜色或字体等属性?
有无办法?

解决方案 »

  1.   

    可以在onAdvancedCustomDrawItem事件中写,根据node参数的属性决定color和fontname.
    如果要在node上提取更多的信息,可以用data属性;下面只是用index示例一下。procedure TForm1.TreeView1AdvancedCustomDrawItem(Sender: TCustomTreeView;
      Node: TTreeNode; State: TCustomDrawState; Stage: TCustomDrawStage;
      var PaintImages, DefaultDraw: Boolean);
    begin
      if node.Index = 0 then Sender.Canvas.Font.Color := clred;
      if node.Index = 2 then Sender.Canvas.Font.Color := clblue;
      if node.Index = 3 then Sender.Canvas.Font.Color := clyellow;
    end;