根据条件改变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 ;

 

 

 

 

你可能感兴趣的:(treeview)