动态生成树以后,我希望实现某一节点或每一层节点用不同颜色显示出来?怎么实现?

解决方案 »

  1.   

    不同层次不同颜色,给你个参考,具体自己根据需要完善吧procedure TForm1.TreeView1CustomDrawItem(Sender: TCustomTreeView;
      Node: TTreeNode; State: TCustomDrawState; var DefaultDraw: Boolean);
    begin
      if Node.Level = 0 then
        treeView1.Canvas.Brush.Color := clRed
      else if Node.Level = 1 then
        TreeView1.Canvas.Brush.Color := clBlue
      else if Node.Level = 2 then
        TreeView1.Canvas.Brush.Color := clYellow;
      TreeView1.Canvas.FillRect(Node.DisplayRect(True));
    end;
      

  2.   

    我想动态改变TreeView中节点的文字的颜色,例如节点是由数据库中的数据组成,我想在生成节点的时候根据一个状态值决定当前节点的文字颜色,应该怎么办?