7,657
社区成员
发帖
与我相关
我的任务
分享
BOOL CMyTestRecDlg::OnEraseBkgnd(CDC* pDC)
{
// TODO: Add your message handler code here and/or call default
CBitmap hBG;
HBITMAP hOldB;
BITMAP bm;
HDC hDst;//memory dc
CClientDC hdc(this);
hDst = CreateCompatibleDC(NULL);
hBG.LoadBitmap(IDB_BG);
hBG.GetBitmap(&bm);
hOldB=(HBITMAP)SelectObject(hDst, hBG);
BmpDrawToDC(hDst,201,31,IDB_REC_NOR);//资源ID 都是bmp的图片
StretchBlt(hdc,0,0,bm.bmWidth,bm.bmHeight,hDst,0,0,bm.bmWidth,bm.bmHeight,SRCCOPY);
SelectObject(hDst,hOldB);
DeleteObject(hBG);
DeleteObject(hDst);
return true;
}
bool CMyTestRecDlg::BmpDrawToDC( HDC _dc, int PosX, int PosY, int ResID)
{
HDC _hTemp;
CBitmap _hbg;
HBITMAP _hOld;
BITMAP bm;
_hTemp = CreateCompatibleDC(NULL);
_hbg.LoadBitmap(ResID);
_hbg.GetBitmap(&bm);
_hOld = (HBITMAP)SelectObject(_hTemp,_hbg);
StretchBlt(_dc,PosX,PosY,bm.bmWidth,bm.bmHeight,_hTemp,
0,0,bm.bmWidth,bm.bmHeight,SRCCOPY);
SelectObject(_hTemp,_hOld);
DeleteObject(_hTemp);
DeleteObject(_hbg);
return TRUE;
}