我用MFC写了一个简单的五子棋界面,但是一拖屏幕的话窗口中的画面就会闪动,于是我用双缓冲来改写了OnPaint,
但是结果还是老样子。不知道问题出在哪里。这种现象是否和屏幕或者显卡有关系? 希望高手能指点迷津。小弟不胜感激!
OnPaint的代码如下
void CChildView::OnPaint()
{
CRect rect;
GetWindowRect(&rect);
CPaintDC pDC(this);
CBitmap bmp;
CDC MemDC;
MemDC.CreateCompatibleDC(&pDC);
bmp.CreateCompatibleBitmap(&pDC,rect.Width(),rect.Height());
MemDC.SelectObject(&bmp);
MemDC.FillSolidRect(0,0,rect.Width(),rect.Height(),RGB(192.,192,192));
DrawBoard(&MemDC);
pDC.BitBlt(0,0,rect.Width(),rect.Height(),&MemDC,0,0,SRCCOPY);
MemDC.DeleteDC();
bmp.DeleteObject();
}
BOOL CChildView::OnEraseBkgnd(CDC *pDC)
{
return TRUE;
}
另外我重载了OnEraseBkgnd直接返回TRUE
请问这里面有问题吗?