OK关于TreeView,展开状态保存的程序设计思路。
想要的:
状态1 A节点被选中,该节点展开子项
操作 刷新
状态2 B节点被选中,该节点状态是否展开子项
做法:
TreeView刷新前,将需要在状态2 中选中的节点信息存入公共变量。
刷新后,遍历表找到 节点 信息=公共变量 的。
Node.Selected:=True;
Node.Expanded:=true;
总结:
在解决问题前,未测试解决方案的关键路径。导致做大量无用功。整体设计思路不够全面。
关键路径:
Node.Expand(true),在该Node有父节点的时候,且状态未作展开设置时,TreeView不呈现Node的展开状态。
Node.Selected:=true;的伴随效果是展开该Node的所有父节点。
附:Delphi关于TreeView的操作