gpt4 book ai didi

delphi - 通过编程方式更改子节点时,如何自动更新父节点的CheckState?

转载 作者:行者123 更新时间:2023-12-03 19:23:52 25 4
gpt4 key购买 nike

我正在将Delphi XE3与Virtual TreeView一起使用。

我已启用toAutoTristateTracking选项。

当我尝试手动更改节点的检查状态时,受影响的节点的检查状态也会随之更改。

但是,例如,当我通过编程方式执行相同的操作时

PNode^.CheckState := csMixedNormal;


要么

PNode^.CheckState := csCheckedNormal;


仅PNode检查状态将被更改。受影响的节点将不会更改其状态。为什么?

最佳答案

不要直接访问节点的CheckState。使用CheckState[Node: PVirtualNode]的数组属性TBaseVirtualTree读取/写入检查状态。通过该属性设置检查状态将应用与复选框相关的功能,并触发相应的事件,例如OnChecking
OnCheckedOnInitNode,...

这是您应该做的:

VirtualStringTree1.CheckState[PNode] := csCheckedNormal;

关于delphi - 通过编程方式更改子节点时,如何自动更新父节点的CheckState?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58058639/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com