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