CProgressFX 和 CHourglassFX






4.95/5 (21投票s)
2000年10月17日

178426

5397
两个动画提供类,用于为任何 CWaitingTreeCtrl 派生类添加动画效果
它们是什么?
在这里,我提供了一些动画提供者类,你可以将它们与任何 CWaitingTreeCtrl
派生类一起使用(参见 文章)。它们现在只是示例,可以作为你实现更流畅动画效果的起点,也可以在你的小项目中“原样”使用。
CProgressFX
这个动画提供者简单地在填充树形控件时显示一个进度条。
如果已知要添加的项目的总数,它会显示一个线性进度条,否则它会将当前进度(会无限增长)映射到一个有限的范围内,从而允许显示进度条。
CHourglassFX
这个动画提供者简单地显示一个带有常用沙漏的动画图标。
注意:我终于找到了我的动画图标只有在链接到 MFC 动态库时才能成功加载的原因,这与 MFC 无关。我用来制作动画图标的应用程序,在 RIFF 头中指定了错误的大小。这额外的 8 个字节导致系统读取到文件末尾之外,在动态库中找到零,在静态库的标准 MFC 资源中找到零。它将零解释为 EOF 标记并成功返回,而它不喜欢后续资源的其它字节,因此返回失败。RIFF 头中的正确值是文件大小减去 8,所以我只是在 VC++ 资源编辑器中的偏移量 4 处更改了双字,即使在静态构建中也能得到我的图标。
使用类
使用动画提供者类非常容易。假设你已经创建了自己的内容提供者类:CMyTreeCtrl
。如果你想添加一个或多个动画,你可以将变量声明如下
#include "MyTreeCtrl.h"
#include "ProgressFX.h"
#include "HourglassFX.h"
...
CProgressFX< CHourglassFX< CMyTreeCtrl > > m_ctlMyTree;
这是结果
更新
- 2000 年 10 月 17 日:首次公开发布
- 2001 年 9 月 27 日:修复了动画图标的错误
许可证更改为艺术许可证
结论
我希望有人喜欢这些类并想编写自己的类。你可以使用外部进度控件实现新的动画,或者使用用户可选择的动画光标,或者使用报告剩余加载项目的消息文本(如 VS 类视图),或者你可以想象的任何东西。如果你这样做,看到一篇关于它的新文章会很好。我将感谢任何评论、建议或改进。