在CODEGURU看到一个MDI CLIENT以位图为背景的例子, 受到启发,在DIALOG中相似地模仿了以下,效果很好。 主要要点是处理背景擦除消息时在DIALOG CLIENT区域画 位图,代码如下: BOOL CBmpbgDlg::OnEraseBkgnd(CDC* pDC) { CRect rect; GetClientRect(&rect); BITMAP bm; CDC dcMem; m_pBmp->GetObject(sizeof(BITMAP),(LPVOID)&bm); dcMem.CreateCompatibleDC(NULL); CBitmap* pOldBitmap = dcMem.SelectObject(m_pBmp); for (register int nX=0;nXBitBlt(nX,nY,bm.bmWidth,bm.bmHeight,&dcMem,0,0,SRCCOPY); dcMem.SelectObject(pOldBitmap); return TRUE; }
|