求教如何使用双缓冲绘图
之前没用双缓冲绘图,图形一直会闪烁
// 建立内存dc和bitmap
CDC MemDc;
CBitmap bitmap;
MemDc.CreateCompatibleDC(NULL);
bitmap.CreateCompatibleBitmap(&dc, rc.right - rc.left, rc.bottom - rc.top);
CBitmap *pOldBitmap = MemDc.SelectObject(&bitmap);
MemDc.StretchBlt(0, 0, rc.right - rc.left, rc.bottom - rc.top, &m_dcBackGroup, 0, 0, 600,388, SRCCOPY);
// 吧你的内容绘图进内存dc中去。
……………………
// 在吧内存dc的内容绘制到目标窗口中去
dc.BitBlt(0, 0, rc.right - rc.left, rc.bottom - rc.top, &MemDc, 0, 0, SRCCOPY);
MemDc.SelectObject(pOldBitmap);
ReleaseDC(&dc);
bitmap.DeleteObject();
MemDc.DeleteDC();
上面的代码是之前做的一个作品中的一部分
双缓冲就是这样,先建立一个内存dc,吧所有的绘图都绘制到内存dc中去,在吧内存dc的内容绘图到目标dc中去