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; //返回非零值來擦出元背景;