【发布时间】:2012-07-14 01:38:23
【问题描述】:
我在虚拟树视图的 Stateimages 中分配了一个 ImageList。 如何更改根节点的 stateindex?我什么也找不到。 感谢您的帮助。
【问题讨论】:
标签: delphi delphi-7 virtualtreeview tvirtualstringtree
我在虚拟树视图的 Stateimages 中分配了一个 ImageList。 如何更改根节点的 stateindex?我什么也找不到。 感谢您的帮助。
【问题讨论】:
标签: delphi delphi-7 virtualtreeview tvirtualstringtree
您需要实现OnGetImageIndex 事件。在那里您可以将var ImageIndex 设置为ImageList 中图像的索引。
如果你只需要应用到根节点,你可以检查节点是否parent = nil。
来自帮助:
10.1.2.104 TBaseVirtualTree.OnGetImageIndex 事件
属性 OnGetImageIndex: TVTGetImageEvent;说明
只要树需要图像的索引,就会触发此事件, 无论是正常的、选定的还是状态图像。该活动应 尽可能快,因为它有时很频繁 当必须确定节点的布局时调用,例如 在使用鼠标绘制选择或绘制树时。种类 确定需要哪个图像,而 Column 确定需要哪个图像 需要图像的节点的列。这个值可以 -1 表示没有使用列。参数 Ghosted 可以设置为 true 以将图像与树混合 50% 背景,例如可以在资源管理器树中使用 标记隐藏的文件系统对象。此外,节点也是 如果 是切割集的一部分,则使用幻影图标绘制 挂起的剪切到剪贴板操作。在这种情况下更改重影 参数没有影响。注意 混合节点可以通过使用来切换 TreeOptions.PaintOptions 中的 toUseBlendImages。类
【讨论】:
Kind 属性(我认为)。
Kind 事件中有 Kind 参数。当此事件被触发并且Kind 参数为ikState 时,返回您的Stateimages 图像列表中的ImageIndex。