双缓冲几个重要 注意点:
1 不直接绘制在DC上,而是先绘制在内存DC然后利用BitBlt块传输效率高
2 尽量限制背景重绘,背景的重绘导致两种颜色切换,会产生闪烁效果。 先擦出背景,在绘制图像
做法步骤:
1创建CompatibleDC
2创建位图CompatibleBitmap,填充整个背景色 mem.FillSolidRect(&re,pDC->GetBkColor());,或者初始化时候指定颜色, 这个背景色不对,应该用GetClassLong获得,背景色,pDC的背景色,不一定是窗口擦出的背景色。
3关联
4禁止背景重绘BOOL CdfsdfsfdsfView::OnEraseBkgnd(CDC* pDC)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
return TRUE;
//return CView::OnEraseBkgnd(pDC);
}