如何改变一个节点的text的颜色,需要用到什么属性和函数,有劳各位大侠给各源程序看看,多谢!!!

解决方案 »

  1.   

    第二个问题,treeview中没有点击的事件,我现在不想用change事件,当用户点击一下树节点的时候就需要有一个变化,这样的程序怎么做,多谢各位了
      

  2.   

    1:修改FONT->COLOR
    2:ONClick事件下写。
      

  3.   

    楼上的老兄,我说的一个节点的改变,不是整个treeview的节点都改变,onclick事件下也不是针对每个节点的,有哪位大侠可以解释的更清楚些,多谢!!!最好有源代码参考,小弟新手!!!
      

  4.   

    procedure TForm1.TreeView1CustomDrawItem(Sender: TCustomTreeView;
      Node: TTreeNode; State: TCustomDrawState; var DefaultDraw: Boolean);
    begin
      if Integer(Node.Data)=1 then
        TreeView1.Canvas.Font.Color := clRed;
    end;procedure TForm1.TreeView1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    var
      Node:TTreeNode;
      i:integer;
    begin
      TreeView1.Items.BeginUpdate;  // 如果想保持颜色不变,就不要用下面代码
      for i:=0 to TreeView1.Items.Count-1 do
      begin
        Node := TreeView1.Items.Item[i];
        Node.Data := Pointer(0);
      end;
      // 如果想保持颜色不变,就不要用上面代码  Node := TreeView1.GetNodeAt(X,Y);
      if Node<>nil then
        Node.Data := Pointer(1);
      TreeView1.Items.EndUpdate;
    end;
      

  5.   

    up,没有人知道吗,怎么样才可以使节点的text的背景能和象被鼠标点中那样呀,多谢各位高手了!!
      

  6.   

    你的意思是不是高亮显示被点击的节点,看看设置HOTTRACK属性能不能达到你的意思。
      

  7.   

    建议研究VCL源码?我想如果Windows控件支持的话,可以向Treeview发送一个消息,什么消息我也不清楚,真正找
      

  8.   

    找了半天,Treeview控件不支持,这不是Delphi的错,有一个方法不知可否,想办法得到TreeNode的Rect,再在Rect上画上Text就可以啦