我想在fcTreeview中实现当父节点选中的时候,该节点的所有子节点,子节点的子节点,直到没有子节点为止;如果字节点选了,那么父节点也同样向上遍历,该怎么样样实现,不会遍历,急!!!!

解决方案 »

  1.   

    procedure tfrmcesuancon.selectall;
    var
      curnode,childnode:Tfctreenode;
    begin
      if not fctreeview1.HandleAllocated then exit;
      curnode:=fctreeview1.Items.GetNode(fctreeview1.Selected.ItemId);
      if (curnode.HasChildren) then
        begin
          childnode:=curnode.GetFirstChild;
          childnode.Selected:=true;
          while childnode<>nil do
            begin
              childnode.Checked :=true;
              if childnode.HasChildren then selectall;
              childnode:=childnode.GetNextSibling;
              if childnode<>nil then childnode.Selected:=true;
            end;
        end;
    end;
      

  2.   

    可以了,不过应该curnode:=fctreeview1.Items.GetNode(fctreeview1.Selected.ItemId);
    下面补充一句if  curnode.Expanded=false then
      curnode.Expand(true); 否则会出错