vc 怎样利用计时器实现位图切换?

yongdayong 2008-03-05 07:56:19
我想做一段代码关于用计时器实现位图切换的动画效果
...全文
117 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
coolcoffee4051982 2008-03-16
  • 打赏
  • 举报
回复
WINDOWS程序设计那本书的颜色切换的例子是不是很像这个题目?
scq2099yt 2008-03-16
  • 打赏
  • 举报
回复
定时切换显示的图片
「已注销」 2008-03-14
  • 打赏
  • 举报
回复
精度要求不高的话可以使用LS的OnTimer定时器,但如果作类似多媒体演示(ms级),则必须使用多媒体定时器.OnTime的定时精度无法满足要求;
方法1(LS的方式):
1)SetTimer设置系统定时器
2)在OnTimer或WM_TIMER处理定时器消息.
3)系统退出时记得KillTimer

方法2(使用多媒体定时器,精度要求比较高时推荐使用):
1)通过timeSetEvent设置定时事件,如UpdateTimer;
2)在定时事件UpdateTimer中处理定时,如屏幕刷新
3)同样退出时使用timeKillEvent杀死多媒体定时器

方法3,使用Thread,在对精度要求极为苛刻时使用,多用于模拟器.缺点:处理不好占用资源极大
1)通过CreateThread创建Thread,Thread的优先级取决于您精度的要求
2)在Thread的处理程序中处理屏幕的绘画和时间定时;
方法3不推荐使用,除非在编写类似模拟器的应用程序,通常情况下,个人比较喜欢使用方法2
yongdayong 2008-03-14
  • 打赏
  • 举报
回复
我是新手,可以给详细点的代码吗?
china_bai 2008-03-09
  • 打赏
  • 举报
回复
支持1楼的做法。

大概就是那个意思的代码,就可以完全实现楼主的目标了。
zylmp 2008-03-09
  • 打赏
  • 举报
回复
UP楼主
hndxh3000 2008-03-08
  • 打赏
  • 举报
回复
设源图是一个数组Img[n],其中n是图象张数,且图象按0~(n-1)~0~(n-1)……的顺序切换

写一个变量int m_CurrentObj = 0;

OnTimer的内容可以这么写
{
Img[m_CurrentObj].DrawToDC( );//绘制当前图象到DC
m_CurrentObj++;
if (m_CurrentObj>=n)
m_CurrentObj = 0;
}

大概意思就是这样了,自己写一下里面的绘制部分吧

19,470

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧