首页 相关文章 VC++大数据量绘图时无闪烁刷屏技术实现

VC++大数据量绘图时无闪烁刷屏技术实现

  引言

  当我们需要在用户区显示一些图形时,先把图形在客户区画上,虽然已经画好但此时我们还无法看到,还要通过程序主动地刷新用户区,强制Windows发送一条WM_PAINT消息,这将引发视类OnDraw函数简单地将所有的图形对象重画,这样才完成了图形的显示工作,但在刷新的同时会引起较明显的闪烁尤其是当画面面积较大、图像元素过多时尤为明显甚至达到无法正常工作的地步。因此,我们需要做相应的处理。本文介绍了采用先在内存中绘制图形,然后再把绘好的图形以位图方式从内存拷贝到窗口客户的消除刷屏闪烁的一种方法。

  WM_PAINT消息和无效区

  ·在用户移动窗口或显示窗口时,窗口中先前被隐藏的区域重新可见。

  ·用户改变窗口的大小。

  ·滚动窗口用户区。

  ·程序调用InvalidateRect或InvalidateRgn函数显式地发送一条WM_PAINT消息。

  当上面情况之一发生时,就要求应用程序一定刷新其用户区的一部分或全部,Windows会向窗口函数发送一条WM_PAINT消息。另外,当Windows删除覆盖窗口部分区域的对话框或消息框时和菜单下拉出来又被释放时窗口用户区被临时覆盖,...[ 查看全文 ]

2016-02-19 标签:

VC++大数据量绘图时无闪烁刷屏技术实现的相关文章

手机页面
收藏网站 回到头部