MFC---定时器和双缓冲机制绘制旋转的金刚石图案

本文介绍了如何在MFC中使用定时器和双缓冲机制来绘制旋转的金刚石图案。首先,通过SetTimer函数创建定时器,并在OnTimer回调函数中处理定时器信号,实现图案的动态更新。最后,讨论了如何通过KillTimer销毁不再需要的定时器以优化系统资源。文中还给出了部分关键代码示例。
摘要由CSDN通过智能技术生成

     双缓冲原理

          MFC中绘制动画的基本思路是在固定时间间隔内绘制图像,然后擦除旧图像再绘制新图像,这样连续         起来就在人类的视觉上形成动画。为了实现这种“绘制-擦除-再绘制”的思路,较老的一种方法是在       OnDraw函数中绘图,然后利用InValidate函数来清空屏幕,然后再绘制新图。因为绘制新旧两幅图像之     间必定需要一定的计算和绘制时间,导致一个后果就是图像闪烁的很厉害。 
  为了避免闪烁,借助于双缓冲的思想,我们可以在显示一幅图像的同时,在后台计算一幅新图像,并       将新图像保存为一个完整的位图。当时间间隔到期后,一次性将新图像位图读入并显示出来即可。这样     将大大节省计算和绘制的时间。实际运行中,人类的视觉基本感知不到任何闪烁。



定时器

     

(1)      创建定时器。创建定时器使用SetTimer函数。

                 SetTimer函数的原型

UINT_PTRSetTimer(

HWND  hWnd,//窗口句柄

UINT    nIDEvent,//定时器ID,多个定时器时,可以通过该ID判断是哪个定时器

UINT   nElapse,//时间间隔,单位为毫秒

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值