虽然使用了双缓存,但是系统还是会刷屏幕背景色,这时要对一个消息事件进行重写就好了,这个消息是WM_ERASEBKGND,这个消息负责每闪重新绘制前用背景色把屏幕清空,然后在屏幕上进行绘制新的显示内容,在类向导中双击WM_ERASEBKGND生成代码:
BOOL CMyView::OnEraseBkgnd(CDC* pDC)
{
return CView::OnEraseBkgnd(pDC);
}
把这个函数改成:
BOOL CMyView::OnEraseBkgnd(CDC* pDC)
{
return TURE;
}
屏幕就不会再闪了。