+A
 -aaa
 -bbb
+B
 -ccc
 -ddd
   只有两层结构。当点击一个根结点前的“+”时,它的图标改变,并且点击该根结点下的子节点时,它的图标保持改变后的状态;当点击根节点前的"-"关闭该根节点时,它的图标又回到原始状态。
  请问该怎样实现?在什么过程里?要用到那些属性和方法呢?

解决方案 »

  1.   

    imageindex结合你 对TREEVIEW设定的IMAGELIST
      

  2.   

    在OnGetImageIndex事件中判断,并给相应的图标号
    以下是示例代码:procedure TForm1.TreeView1GetImageIndex(Sender: TObject; Node: TTreeNode);
    begin
      if Node.Expanded then
        Node.ImageIndex := 1
      else
        Node.ImageIndex := 2;
    end;
      

  3.   

    如果只是想改变那个图表的话设置HasChildern:=false就可以了
      

  4.   

    (Image Index和Selected Index我都明白了)各位能给我说说TeeeView中State Index的含义么?它控制什么啊?
      

  5.   

    procedure TForm1.TreeView1GetImageIndex(Sender: TObject; Node: TTreeNode);
    begin
      if Node.Expanded then
        Node.ImageIndex := 1
      else
        Node.ImageIndex := 2;
    end;上面的代码为什么选中A,展开B时,B的图标会有变化:但是直接点A前的+号展开A时,A的图标就没变化?