在单击显示弹出菜单时,在鼠标悬停时在Treeview节点上绘制一个图标

时间:2013-12-12 16:36:27

标签: delphi delphi-xe5

使用delphi ex-5

截至目前,我可以右键单击所选节点显示弹出菜单

是否可以在移动时在树视图节点(右侧)上显示图标?当图标被鼠标悬停时,显示一个弹出菜单?

感谢名单

编辑:包含两个屏幕截图以更好地传达我的需求(是的,这是一个网页 - 这是我想要做的)

https://dl.dropboxusercontent.com/u/73677254/Delphi%20Demos/screenshot1.png

https://dl.dropboxusercontent.com/u/73677254/Delphi%20Demos/screenshot2.png

1 个答案:

答案 0 :(得分:1)

如果您想要左侧的图标,可以使用TTreeNode.StateIndex属性。但是要在右侧放置一个图标,您必须由所有者绘制TTreeView节点。

无论哪种方式,使用TTreeView.OnMouseMove事件始终跟踪当前哪个节点在鼠标下,当您检测到其他节点时,您可以重置前一节点的StateIndex并更新新节点的StateIndex,或触发重绘并仅在新节点上绘制图标,具体取决于您采用的方法。