代码之家  ›  专栏  ›  技术社区  ›  Remus Rigo

更改树视图节点颜色

  •  2
  • Remus Rigo  · 技术社区  · 15 年前

    是否有任何方法可以更改TTreeView中节点的颜色。我想给我的树视图涂上深色,然后我就看不到节点了。

    alt text http://rigo.ro/temp/ChangeTreeViewNodeColor.png

    2 回复  |  直到 15 年前
        1
  •  3
  •   Sertac Akyuz    15 年前

    不管怎样,API中有一条关于这一点的消息;

    uses
      commctrl;
    
    procedure TForm1.FormCreate(Sender: TObject);
    begin
      SendMessage(TreeView1.Handle, TVM_SETLINECOLOR, 0, ColorToRGB(clYellow));
    end;
    
        2
  •  1
  •   SimaWB    15 年前

    也许您可以使用TTreeView的OnCustomDrawItem事件:

    procedure TForm1.TreeView1CustomDrawItem(Sender: TCustomTreeView;
      Node: TTreeNode; State: TCustomDrawState; var DefaultDraw: Boolean);
    begin
      with Sender as TCustomTreeView do
      begin
        Canvas.Brush.Color := clBlack;
        Canvas.Font.Color := clBlack
      end;
    end;