根据条件改变TreeView的颜色

在Delphi中使用树形控件TreeView,改变其颜色,使用的是CustomDrawItem方法:

代码
procedure TForm1.tv1CustomDrawItem(Sender: TCustomTreeView;
  Node: TTreeNode; State: TCustomDrawState; 
var DefaultDraw: Boolean);
begin
  
if Odd(Node.AbsoluteIndex) then
  
begin
    Sender.Canvas.Brush.Color:
=clGreen; //改变背景颜色
    Sender.Canvas.Font.Color:
=clWhite;  //改变字体颜色
  
end
  
else
    Sender.Canvas.Font.Color:
=clRed;
end;

 在根据内容条件改变时,使用Node判断:

代码
procedure TForm1.tv1CustomDrawItem(Sender: TCustomTreeView;
  Node: TTreeNode; State: TCustomDrawState; 
var DefaultDraw: Boolean);
begin
  
if Length(Node.Text)<5 then
    tv1.Canvas.Brush.Color:
=clRed
  
else
    tv1.Canvas.Brush.Color:
=clWhite;
end;
原文地址:https://www.cnblogs.com/wjhx/p/1705291.html