如何使tree将属性enabled设置成false时,tree中显示不会变色?还是按照原颜色显示。

解决方案 »

  1.   

    procedure TTRichTree.TreeView1CustomDrawItem(Sender: TCustomTreeView;
      Node: TTreeNode; State: TCustomDrawState; var DefaultDraw: Boolean);
    var brush: TBrush;
        cc : TColor;
    begin
       if (cdsSelected in State) or (cdsIndeterminate in State) then
       begin
          brush:= treeview1.Canvas.Brush;
          treeview1.Canvas.Brush.Color:= FSelColor;
          DefaultDraw:= true;
          treeview1.Canvas.Brush:= brush;
       end else
       if Node.DropTarget then
       begin
          brush:= treeview1.Canvas.Brush;
          treeview1.Canvas.Brush.Color:= FSelColor;
          DefaultDraw:= true;
          treeview1.Canvas.Brush:= brush;
       end else
       begin
          brush:= treeview1.Canvas.Brush;
          cc := FBgColor-1 ;
          if cc= clBlack then cc:= FBgColor+1;
          treeview1.Canvas.Brush.Color:= cc;
          DefaultDraw:= true;
          treeview1.Canvas.Brush:= brush;
       end;
    end;==============================================================
    如果可以,请支持一下
    http://expert.csdn.net/Expert/topic/2308/2308724.xml?temp=.1731226