MFC采用双缓存解决闪屏问题(使用了双缓存还是闪屏的)
清泛原创
1.为什么出现闪屏?
xxxxx
2.没有效果?
BEGIN_MESSAGE_MAP(Cxxxx, CStatic)
ON_WM_ERASEBKGND()
END_MESSAGE_MAP()
BOOL Cxxxx::OnEraseBkgnd(CDC* pDC)
{
return TRUE; //CStatic::OnEraseBkgnd(pDC);
}
3.如果OnPaint()中使用了双缓存,而且OnEraseBkgnd又直接返回了TRUE,仍然没有效果的:
必定是其他函数中调用了该窗口非内存DC,填充了背景。按照此思路继续追查。
xxxxx
2.没有效果?
BEGIN_MESSAGE_MAP(Cxxxx, CStatic)
ON_WM_ERASEBKGND()
END_MESSAGE_MAP()
BOOL Cxxxx::OnEraseBkgnd(CDC* pDC)
{
return TRUE; //CStatic::OnEraseBkgnd(pDC);
}
3.如果OnPaint()中使用了双缓存,而且OnEraseBkgnd又直接返回了TRUE,仍然没有效果的:
必定是其他函数中调用了该窗口非内存DC,填充了背景。按照此思路继续追查。
上一篇:解决:调MFC dll时发生AfxGetInstanceHandle()断言错误
下一篇:MFC CFormView和CView区别