C++ | 双缓存的使用

129 阅读1分钟

「这是我参与11月更文挑战的第5天,活动详情查看:2021最后一次更文挑战」。

1、定义内存DC: CDC memDC;

2、定义位图资源: CBitmap bitmap;

3、创建内存DC: memDC.CreateCompatibleDC(&dc);

4、创建位图资源: bitmap.CreateCompatibleBitmap(&dc, rect.Width(), rect.Height());

5、选择位图资源: CBitmap *pOldBitmap = memDC.SelectObject(&bitmap);

6、双缓存输出到屏幕: dc.BitBlt(0, 0, rect.Width(),rect.Height(),&memDC, 0, 0, SRCCOPY);

7、恢复位图资源: memDC.SelectObject(pOldBitmap);

8、释放资源: bitmap.DeleteObject();memDC.DeleteDC();ReleaseDC(&memDC);

根据自己的需要可以定义为成员变量,也可以在OnPaint()中使用临时变量。