|
我使用2440+wince5.0的平台,显示器的分辨率为800*480,我在对话框中使用一个800*480的256色的bmp文件作为对话框的背景图片,在OnPaint函数中将背景图片贴上,代码如下:
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);
}
我发现显示该对话框时,还是可以感觉到画面由上至下的刷新过程,哪位有办法对这一现象进行优化的办法?
|
|