//参考
var
vMemoryStream: TMemoryStream;
begin
vMemoryStream := TMemoryStream.Create;
try
TreeView1.SaveToStream(vMemoryStream);
vMemoryStream.Position := 0;
TreeView2.LoadFromStream(vMemoryStream);
finally
vMemoryStream.Free;
end;
end;
var
vMemoryStream: TMemoryStream;
begin
vMemoryStream := TMemoryStream.Create;
try
TreeView1.SaveToStream(vMemoryStream);
vMemoryStream.Position := 0;
TreeView2.LoadFromStream(vMemoryStream);
finally
vMemoryStream.Free;
end;
end;
TreeView2.Items[I].Data := TreeView1.Items[I];
是可以,但是有个问题:
当TreeView1中某个结点的HasChildren为True但是没有展开,
那么在TreeView2中的该结点的HasChildren为False,不能展开,
怎么办?
for ii := 0 to TreeView1.Items.Count - 1 do
TreeView2.Items[ii].HasChildren := TreeView1.Items[ii].HasChildren;
解决!!!!!!!