void CMainMenuDlg::OnPaint()
{
CPaintDC dc(this); // device context for painting
//先绘背景
CDC MemDC;
CBitmap *pOldBitmap;
MemDC.CreateCompatibleDC(&dc);
pOldBitmap=MemDC.SelectObject(&m_BitBackground);
dc.BitBlt(0,0,800,480,&MemDC,0,0,SRCCOPY); //画背景
MemDC.SelectObject(pOldBitmap);
MemDC.DeleteDC();
}
我并且在OnEraseBkgnd函数中直接返回,代码如下:
BOOL CMainMenuDlg::OnEraseBkgnd(CDC* pDC)
{
// TODO: Add your message handler code here and/or call default
return TRUE;
//return CDialog::OnEraseBkgnd(pDC);
}
我发现显示该对话框时,还是可以感觉到画面由上至下的刷新过程,哪位有办法对这一现象进行优化的办法?