TVirtualStringTree。如何识别用户检查的确切节点?

时间:2017-10-11 19:17:20

标签: delphi virtualtreeview tvirtualstringtree

我的问题与

中提出的问题有关

TVirtualStringTree. How to check a node and its children with a single confirmation?

如果启用了传播选项并且用户检查了内部节点,则会首先为其子节点触发事件OnCheckOnChecking。当OnCheck的事件处理程序正在执行时,是否有任何方法可以识别用户检查的确切节点?我通过实验确定OnNodeClick的处理程序仅在OnCheck之后触发。

1 个答案:

答案 0 :(得分:0)

内置任何东西,你需要自己动手。

单击节点的OnChecking事件似乎是在复选框点击时执行的第一个事件。所以,创建一个变量,比如ClickedNode:PVirtualNode(通常为零)。在OnChecking事件中检查它是否为零,如果是,则将其值设置为事件的节点。要触发的最后一个事件是OnClick事件,您将ClickedNode重置为nil。在OnCheckingOnChecked事件中,您知道ClickedNode触发了检查序列。