如何将所有节点从一个 VirtualTreeView 复制到另一个?我尝试使用 CopyTo 功能,但数据为空,为什么?数据包含对记录的引用(像往常一样)。
我也尝试使用OnNodeCopying
@Cosmin Prund 在他现在已删除的答案中建议的事件,但它崩溃了:
procedure TDataBaseForm.SourceTreeViewNodeCopying(Sender: TBaseVirtualTree;
Node, Target: PVirtualNode; var Allowed: Boolean);
var
SourceNodeData, DestNodeData: PNodeDataForCompare;
begin
SourceNodeData := Sender.GetNodeData(Node);
DestNodeData := VirtualStringTree1.GetNodeData(Target);
if Assigned(SourceNodeData) then
begin
DestNodeData^ := SourceNodeData^;
end;
Allowed := true;
end;