关于双缓冲在OnPaint中解决闪屏

</pre><p>由于要读取设备的数据,进而绘出数据的趋势图,所以需要不断的刷新屏幕进而进行读数据。但是由于刷屏一直会造成严重的闪屏,所以参照网上的方法,利用双缓冲技术进行函数重载绘制,但是一直仍旧闪屏,最后找到问题的根源,更改之后的效果确实良好,防止了屏幕出现闪屏,但是我的编码过程中也与网上的方法有稍稍不同,为了防止有人走我的弯路,在此将方法进行说明。首先,思想仍然是双缓冲的技术思想,但是由于要求是在控件中进行重载绘制,因此事不能牵扯到父窗口的绘制的。故此,选择重载函数OnPaint()进行图形的绘制。当进行重载之后,默认是</p><pre><p></p>
void CMY_Static::OnPaint()
{
	CPaintDC dc(this); // device context for painting
        CRect rect;//设计整个绘图区域大小的矩形
}


<pre name="code" class="cpp">

 

所有的绘图操作全在其中,于是我们进行创建一个内存DC和一个获取当前控件DC的指针*pDC,当然还有画布MemBitmap;

CDC *pDC;
CDC MemDC;   //创建兼容的内存DC
CBitmap MemBitmap;  //创立画布之后由指针获
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值