我在treeview里建了树型结构,怎样在我选择一个节点时,这个节点的文字颜色变成其它颜色,并且这个节点背景色变为其它颜色。
例如     类别
          |
        电脑类
          |
         打印机类
在我选择电脑类时,“电脑类”这三个子变成红色,周围方型框背景色变为青色。以便突出显示被选择的节点。请帮忙!分不够再给

解决方案 »

  1.   

    可以让它的字体颜色变化,但是它应该没有背景色的,主要的背景色是针对整个treeview的,字体颜色也是针对真个的,你在点击的时候不是有颜色变化吗?那个是系统的颜色变化,可能要实现你说的,就要进行系统的编程了。
      

  2.   

    加分吧,我要100分:
    procedure TForm1.TreeView1CustomDrawItem(Sender: TCustomTreeView;
      Node: TTreeNode; State: TCustomDrawState; var DefaultDraw: Boolean);
    var
      aFont: TFont;
    begin
      aFont := Sender.Canvas.Font;
      if node.Text = '电脑类' then
      begin
        if Node.Selected then
        begin
          Sender.Canvas.Brush.Color := clBlack;
    //      Sender.Canvas.DrawFocusRect(aRect);
          Sender.Canvas.Font.Color := clRed;
          Sender.Canvas.Font.Name := '黑体';
        end;
      end;
      Sender.Canvas.Font := aFont;
    end;
      

  3.   

    fei19790920 同学,你给的代码不全对,再说我的分也不多了,就你的答案来说,我只给80分,不要那么贪心!大家都在苦熬,是吧!
      

  4.   

    procedure TMainForm.GCViewCustomDrawItem(Sender: TCustomTreeView;
      Node: TTreeNode; State: TCustomDrawState; var DefaultDraw: Boolean);
    begin
      if Node.Text='节点文字'then
        GCView.Canvas.Brush.Color:=clgreen;
        GCView.Canvas.Font.Color:=clred;
    end;