如何将图片拉伸显示
我有一个资源位图,想作为对话框的背景显示,但是图有点小,我想进行拉伸显现,充满整个对话框。我的代码如下,但是好像默认的是平铺显示
m_bkBitmap.LoadBitmap(IDB_LOGO);
m_bkBrush.CreatePatternBrush(&m_bkBitmap);
然后在OnCtlColor函数中返回这个刷子就可以了,但是这种方法图片是平铺显示,如何才能做到拉伸显示,那位大侠指点一下
[解决办法]
StretchBlt
重载对话框的WM_ERASEBKGND在里面画就可以了`
[解决办法]
BOOL CMyDlg::OnEraseBkgnd(CDC* pDC)
{
// TODO: Add your message handler code here and/or call default
CBitmap map;
map.LoadBitmap(IDB_BITMAP1);
CDC dc;
dc.CreateCompatibleDC(pDC);
BITMAP bm;
map.GetBitmap(&bm);
CBitmap *old=dc.SelectObject(&map);
CRect rect;
GetClientRect(&rect);
pDC-> StretchBlt(rect.left,rect.top,rect.Width(),rect.Height(),&dc,0,0,bm.bmWidth,bm.bmHeight,SRCCOPY);
dc.SelectObject(old);
map.DeleteObject();
dc.DeleteDC();
return TRUE;//CDialog::OnEraseBkgnd(pDC);
}
[解决办法]
StretchBlt
[解决办法]
StretchBlt