Virtualtreeview dragNdrop

时间:2012-12-06 17:50:41

标签: delphi drag-and-drop virtualtreeview

如何在两个virtualtreeview之间复制以复制所有列,而不仅仅是第一个?

复制前:

enter image description here

复制后

enter image description here

1 个答案:

答案 0 :(得分:1)

树控件不包含任何数据。它不包含您要显示的列数据,因此 it 无法复制它。相反,当树控件想要显示任何单元格的数据时,它会通过触发OnCellText事件询问程序要显示的内容。它显示您的程序告诉它的任何内容。

如果您复制的控件没有显示您想要的内容,那么这是因为该控件的OnCellText事件处理程序没有为其提供必要的数据。

复制节点时,您有责任确保与源节点关联的信息存储在某处,以便目标控件的OnCellText事件知道在哪里为目标节点找到它。有很多方法可以做到这一点。这一切都取决于您首先复制节点的方式,以及您如何表示OnCellText事件使用的基础数据结构。在这些限制范围内,您可以按照自己的方式进行操作。