怎么让某几个树节点的标题显示和其他不一样的颜色
我找了一下,TTreeView有font属性,但只能设所有的
而TTreeNode好象没有这个属性.

解决方案 »

  1.   

    写AdvancedCustomDrawItem或CustomDrawItem事件  
     
    procedure  TForm2.TreeView1CustomDrawItem(Sender:  TCustomTreeView;  
       Node:  TTreeNode;  State:  TCustomDrawState;  var  DefaultDraw:  Boolean);  
    begin  
       if  odd(Node.AbsoluteIndex)  then  Sender.Canvas.font.Color  :=  clBlue  
       else  Sender.Canvas.font.Color  :=  clGreen;  
       DefaultDraw  :=  True;  
    end;  
      

  2.   

    procedure  TForm1.TreeView1CustomDrawItem(Sender:  TCustomTreeView;  
       Node:  TTreeNode;  State:  TCustomDrawState;  var  DefaultDraw:  Boolean);  
    begin  
       if  node.Level  =  0  then  
       begin  
             Sender.Canvas.font.Color  :=  clBlue;  
       end  
       else  if  node.Level  =  1  then  
       begin  
           Sender.Canvas.font.Color  :=  clred;  
       end;  
    end;  
     
    ---------------------------------------------------------------  
     
    odd函数:function  Odd(X:  Longint):  Boolean;  
    Returns  True  if  argument  is  an  odd  number. 
    来自FAQ
      

  3.   

    TreeView.CustomDrawItem中
    不行的是个什么状况?