如何隐藏 TVirtualStringTree 节点?
如果我没记错的话,在一个节点中不可能有不可见的节点。 TVirtualStringTree 树视图,因为没有启用、可见或其他 属性来这样做。我的说法正确吗?
如果是,我如何设法拥有不可见的节点?
我的树的结构:
- 一个节点
- 另一个节点
- 子节点1
- 子节点2
- ...
- 子节点15
- 子节点 16(不可见!)
- 又一个节点
- 子节点 1 来自另一个节点
- 子节点 2 来自另一个节点
当我对 整棵树,让我打印出第一列的文本。我可以 还检查该节点,发现他有一个前一个兄弟节点,但没有 例如,下一个兄弟节点的高度为 18。
那么我是如何做到这一点的呢?
if I'm not mistaken it's not possible to have invisible nodes in a
TVirtualStringTree treeview, as there are no enabled, visible or other
properties to do so. Am I right about this?
If yes, how did I manage to have a non visible node?
Structure of my tree:
- One Node
- Another node
- Subnode 1
- Subnode 2
- ...
- Subnode 15
- Subnode 16 (which is not visible!)
- Yet another node
- Subnode 1 from yet another node
- Subnode 2 from yet another node
I can find Subnode 16 when I do a FirstNode/GetNextNode loop over the
whole tree and let me print out the text for the first column. I can
also inspect the node and see that he's got a previous sibling but no
next sibling for instance and the node height is 18.
So how did I do this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
你错了,可能同时存在不可见和禁用的节点。要切换节点的可见状态,
请使用启用/禁用节点使用
您还可以在树的
OnInitNode
事件中将节点初始化为禁用状态,方法是将ivsDisabled
添加到InitialStates参数。
You are wrong, it is possible to have both invisible and disabled nodes. To switch visible state of the node use
to enable / disable node use
You can also initialize node to disabled state in tree's
OnInitNode
event with addingivsDisabled
toInitialStates
parameter.除了 ains 答案之外,要递归树,您可以使用以下函数:
递归所有节点
只递归可见节点:
In Addition to ains answer, to recurse the tree you can use the following functions:
To recurse ALL nodes
To recurse only VISIBLE nodes: