在网上我们会搜到许多有关双缓冲的文章,但是大部分讲的并不是很明白,所以今天我就有条理的分享一下我的双缓冲技术的历程。
关于如何配置GDI+环境在网上很多并且配置也很简单,我就不多说了,我们直接进入正题。
1.首先,我们在void C***View::OnPaint()中配置OnPaint()函数。步骤如下:在类视图中找到C***View,然后右键选择属性在属性中会有一个消息按钮。
在这个消息列表中找到OnPaint点击添加就完成了对OnPaint()函数的配置。
2.在void C***View::OnPaint()函数中添加代码。我主要将框架代码给大家具体要实现的功能需要自己添加。
CRect rect;
GetClientRect(&rect);
Bitmap bmp(rect.right,rect.bottom);
Graphics *CacheGraphics = Graphics::FromImage(&bmp); //创建一个与bitmap关联的Graphics对象
CacheGraphics->Clear(Color::White); //将背景色刷新为白色
******//这里是用来添加实现自己功能的地方
Graphics graphics01(dc.m_hDC); //创建一个和hdc相关联的Graphics的对象
graphics01.DrawImage(&bmp, rect.left, rect.top, re