对话框添加背景图片,显示全图不失真
void CSetPersonDlg::OnPaint()
{
// this->Invalidate();
if (IsIconic())
{
}
else
{
CPaintDC dc(this);
CRect rect;
GetClientRect(&rect);
// CDC *pDC=GetDC();
CDC memdc;
memdc.CreateCompatibleDC(&dc);
CBitmap bitmap;
BITMAP bit;
//从资源中载入位图
bitmap.LoadBitmap(IDB_BMAP_PERSON);
bitmap.GetBitmap(&bit);
CBitmap* pOldBtimap = memdc.SelectObject(&bitmap);
dc.SetStretchBltMode(COLORONCOLOR);//防止图片失真
dc.StretchBlt(0,0,rect.Width(),rect.Height(),&memdc,0,0, \
bit.bmWidth,bit.bmHeight,SRCCOPY);
memdc.SelectObject(pOldBtimap);
}
}
dc.SetStretchBltMode(COLORONCOLOR); // 若不设置这个模式,图片会严重失真