Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Delphi 是否可以将动画图标与VirtualTreeView节点一起使用?_Delphi_Virtualtreeview - Fatal编程技术网

Delphi 是否可以将动画图标与VirtualTreeView节点一起使用?

Delphi 是否可以将动画图标与VirtualTreeView节点一起使用?,delphi,virtualtreeview,Delphi,Virtualtreeview,我使用的是Delphi 2010的真棒。目前,我的节点是使用TImageList中的标准图像设置的。我想做的是能够显示某种类型的旋转动画图标,以直观地显示节点“忙” 显然,节点不会很忙,但节点对用户表示的内容实际上会很忙。有没有一个简单的方法可以做到这一点 我能想到的唯一方法是创建8-10个图像,将它们表示一个旋转的轮子添加到我当前的TImageList中,然后为该节点遍历它们 有人有什么建议吗?也许你可以自己制作动画。例如,可以将动画状态存储在节点数据中。然后,您可以重复(从计时器)迭代整个树

我使用的是Delphi 2010的真棒。目前,我的节点是使用TImageList中的标准图像设置的。我想做的是能够显示某种类型的旋转动画图标,以直观地显示节点“忙”

显然,节点不会很忙,但节点对用户表示的内容实际上会很忙。有没有一个简单的方法可以做到这一点

我能想到的唯一方法是创建8-10个图像,将它们表示一个旋转的轮子添加到我当前的TImageList中,然后为该节点遍历它们


有人有什么建议吗?

也许你可以自己制作动画。例如,可以将动画状态存储在节点数据中。然后,您可以重复(从计时器)迭代整个树(
IterateSubTree
),并从回调中检查节点数据,以及节点是否应设置动画调用
repainnode
(立即强制重新绘制)或
InvalidateNode
(使节点无效,以便在下一个绘制周期中绘制)。实际的绘制可以像往常一样通过
OnGetImageIndex
事件处理程序完成,为动画周期的不同阶段返回不同的图像索引。

+1;或
InvalidateColumn
,如果它们位于同一列中