gpt4 book ai didi

delphi - 有没有办法在还没有添加 child 时显示 TTreeNode 的 > 标志?

转载 作者:行者123 更新时间:2023-12-03 18:05:39 24 4
gpt4 key购买 nike

我在 TTreeView 对象中显示项目。当一个 Item 有子项时,控件会在图标旁边绘制一个 >(如果展开,则绘制一个向下的箭头)。

我想知道我是否可以告诉 Item 以某种方式绘制 >,即使还没有添加任何子项。

我的软件中有某些条件,可以向用户展示有 child ,而没有实际添加 child (然后在选择该项目时完成)

)

使用 c++ Builder 2009 VCL,但此问题对 Delphi 也应该有效。

最佳答案

在 VCL 中,TTreeNode 有一个 HasChildren属性:

Indicates whether a node has any children.

HasChildren is true if the node has subnodes, or false if the node has no subnodes. If ShowButtons of the tree view is true, and HasChildren is true, a plus (+) button will appear to the left of the node when it is collapsed, and a minus (-) button will appear when the node is expanded.

Note: If a node has no children, setting HasChildren to true will show a (+) plus button, but will not add any child nodes and the node cannot be expanded.

因此,您可以在为节点创建实际子节点之前将节点的 HasChildren 设置为 true。稍后,一旦确定该节点是否有任何实际的子节点,如果不存在子节点,您可以将 HasChildren 重置为 false。

尽管上面的文档建议如何,尝试展开没有子节点但确实将 HasChildren 设置为 true 的节点将触发 TTreeView.OnExpanding 事件,在至少。这是填充实际子节点和更新 HasChildren 的好地方。

关于delphi - 有没有办法在还没有添加 child 时显示 TTreeNode 的 > 标志?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53217271/

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