我的问题涉及到的问题
TVirtualStringTree. How to check a node and its children with a single confirmation?
如果启用了传播选项并且用户检查了内部节点,则首先为其子节点触发事件OnCheck
和OnChecking
。当OnCheck
的事件处理程序正在执行时,程序是否有任何方法可以识别用户检查的确切节点?我通过实验确定OnNodeClick
的处理程序仅在OnCheck
之后被触发。
内置任何东西,你需要自己做。
点击节点的OnChecking
事件似乎是在复选框点击时执行的第一个事件。所以,创建一个变量,比如ClickedNode:PVirtualNode
(通常为零)。在OnChecking
事件中检查它是否为零,如果是,则将其值设置为事件的节点。要触发的最后一个事件是OnClick
事件,您将ClickedNode
重置为nil。在之间,在OnChecking
或OnChecked
事件中,你知道ClickedNode
触发了检查序列。