发现MFC贴图的使用地方还是挺多的,记录一下MFC贴图的代码,免得又忘记了。
一、贴资源图片
首先将bmp图片导入到资源ID为IDB_BITMAP_1。
在OnPaint加上一下代码即可:
CDC* pDc = GetDC();
CDC memDc;
memDc.CreateCompatibleDC(pDc);
CBitmap *pOldBmp = memDc.SelectObject(&m_bmpLogo);
CRect rt;
GetClientRect(&rt);
BITMAP bi = {0};
m_bmpLogo.GetBitmap(&bi);
pDc->StretchBlt(0,0,rt.Width(),rt.Height(),&memDc,0,0,bi.bmWidth,bi.bmHeight,SRCCOPY);
memDc.SelectObject(pOldBmp);
memDc.DeleteDC();
ReleaseDC(pDc);
二、贴文件图片
HDC hDc = ::GetDC(GetSafeHwnd());
CRect rt;
GetClientRect(&rt);
CImage img;
if (img.Load("1.bmp") == S_OK)
{
SetStretchBltMode(hDc, COLORONCOLOR);
img.Draw(hDc, rt);
}
img.Destroy();
::ReleaseDC(GetSafeHwnd(), hDc);