1.1利用BitBlt建立位图背景(只会按位图原始尺寸进行加载)
BOOL CLesEx11_3View::OnEraseBkgnd(CDC* pDC)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
CBitmap bitmap;
bitmap.LoadBitmap(IDB_BITMAP1);//加载位图;
CDC dcCompatible; //建立一个CDC对象用于创建一个与pDC的兼容位图;
dcCompatible.CreateCompatibleDC(pDC);//建立兼容位图;
dcCompatible.SelectObject(&bitmap);//将位图选入设备描述表中;
CRect rect;
GetClientRect(&rect);//获得客户区域矩形的大小;
//利用BitBlt将源设备中的位图复制到目标区域矩形中;
pDC->BitBlt(0,0,rect.Width(),rect.Height(),&dcCompatible,0,0,SRCCOPY);
return TRUE;
}
1.2利用StrtchBlt建立位图背景
BOOL CLesEx11_3View::OnEraseBkgnd(CDC* pDC)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
CBitmap bitmap;
bitmap.LoadBitmap(IDB_BITMAP1);//加载位图;
CDC dcCompatible; //建立一个CDC对象用于创建一个与pDC的兼容位图;
dcCompatible.CreateCompatibleDC(pDC);//建立兼容位图;
dcCompatible.SelectObject(&bitmap);//将位图选入设备描述表中;
CRect rect;
GetClientRect(&rect);//获得客户区域矩形的大小;
BITMAP bm;
bitmap.GetBitmap(&bm);//获得位图的大小;
//利用StretchBlt将源设备中的位图复制到目标区域矩形中;
pDC->StretchBlt(0,0,rect.Width(),rect.Height(),&dcCompatible,0,0,bm.bmWidth,bm.bmHeight,SRCCOPY);
return TRUE; //返回非零值来擦出元背景;