VC开发简单的单文档程序时,客户区一般是一片空白,可以显示一张图片,重载OnEraseBkgnd()函数即可。
代码如下:
BOOL CSAMSView::OnEraseBkgnd(CDC * pDC) {
//TODO: Add your message handler code here and/or call default
//创建位图
CBitmap bitmap;
bitmap.LoadBitmap(IDB_BITMAP_MAIN_BACKGRAND);
//得到位图的信息
BITMAP bmp;
bitmap.GetBitmap( & bmp);
//创建兼容DC
CDC dcCompatible;
dcCompatible.CreateCompatibleDC(pDC);
//将位图选到兼容DC中
dcCompatible.SelectObject( & bitmap);
//得到客户区的大小
CRect rect;
GetClientRect( & rect);
//将兼容DC中的位图贴到当前DC中。
pDC->StretchBlt(0, 0, rect.Width(), rect.Height(), &dcCompatible, 0, 0, bmp.bmWidth, bmp.bmHeight, SRCCOPY);
//return CView::OnEraseBkgnd(pDC);
return TRUE;
}