两种贴图方法详解:
第一种原尺寸贴图(分为两种,一种是图片较大,则显示一部分;第二种,图片较小,则多余的地方不贴图)
CBitmap bitmap;
bitmap.LoadBitmap(IDB_BITMAP1);
CDC dcCompatible;
dcCompatible.CreateCompatibleDC(&dc);
dcCompatible.SelectObject(&bitmap);
CRect rect;
GetClientRect(&rect);
dc.BitBlt(0,0,rect.Width(),rect.Height(),&dcCompatible,0,0,SRCCOPY);
第二种拉伸贴图:
CBitmap bitmap;
bitmap.LoadBitmap(IDB_BITMAP2);
CDC dcCompatible;
dcCompatible.CreateCompatibleDC(&dc);
dcCompatible.SelectObject(&bitmap);
CRect rect;
GetClientRect(&rect);
BITMAP bmp;
bitmap.GetBitmap(&bmp);
dc.StretchBlt(0,0,rect.Width(),rect.Height(),&dcCompatible,0,0,bmp.bmWidth,bmp.bmHeight,SRCCOPY);
最简单的窗体贴图:
重载OnctrColor:
if (pWnd == this)
{
return m_brBk;
}
在.h头文件中定义public变量: CBrush m_brBk;//在public中定义
在OnInitDialog增加:
CBitmap bmp;
bmp.LoadBitmap(IDB_BITMAP2);
m_brBk.CreatePatternBrush(&bmp);
bmp.DeleteObject();