方法一:载入位图
先在资源中导入一幅位图,在对话框中添加一个picture控件,右击选择属性在类型中选择bitmap,再选择你导入的位图的ID号就行了,前提是你的位图尺穿足够大.可以填满你的对话框
方法二:
重载OnEraseBkgnd()--WM_ERASEBKGND(INFO-WINDOW中设置)
BOOL CBkcolor2Dlg::OnEraseBkgnd(CDC* pDC)
{
// TODO: Add your message handler code here and/or call default
CRect rect;
GetClientRect(&rect);
CBitmap m_pBmp;
BITMAP bm;
CDC dcMem;
m_pBmp.LoadBitmap(IDB_BITMAP2);
m_pBmp.GetBitmap(&bm);//得到位图尺寸
dcMem.CreateCompatibleDC(pDC);
CBitmap* pOldBitmap = dcMem.SelectObject(&m_pBmp);
pDC->SetStretchBltMode(COLORONCOLOR);//这个模式不设置的话会导致图片严重失真
pDC->StretchBlt(0,0,rect.Width() ,rect.Height(),
&dcMem,0,0,bm.bmWidth,bm.bmHeight,SRCCOPY);
dcMem.SelectObject(pOldBitmap);
return TRUE;
}
方法三:
头文件定义CBrush brush;
OnInitDialog函数中:
CBitmap bmp;
bmp.LoadBitmap(IDB_BITMAP2);
brush.CreatePatternBrush(&bmp);
OnPaint或OnDraw函数中:
CPaintDC dc(this);
CRect rect;
GetClientRect(&rect);
dc.FillRect(&rect,&brush);
BOOL CColorBkgndDlg::OnEraseBkgnd(CDC* pDC)
{
return TRUE;
// return CDialog::OnEraseBkgnd(pDC);
}
先在资源中导入一幅位图,在对话框中添加一个picture控件,右击选择属性在类型中选择bitmap,再选择你导入的位图的ID号就行了,前提是你的位图尺穿足够大.可以填满你的对话框
方法二:
重载OnEraseBkgnd()--WM_ERASEBKGND(INFO-WINDOW中设置)
BOOL CBkcolor2Dlg::OnEraseBkgnd(CDC* pDC)
{
// TODO: Add your message handler code here and/or call default
CRect rect;
GetClientRect(&rect);
CBitmap m_pBmp;
BITMAP bm;
CDC dcMem;
m_pBmp.LoadBitmap(IDB_BITMAP2);
m_pBmp.GetBitmap(&bm);//得到位图尺寸
dcMem.CreateCompatibleDC(pDC);
CBitmap* pOldBitmap = dcMem.SelectObject(&m_pBmp);
pDC->SetStretchBltMode(COLORONCOLOR);//这个模式不设置的话会导致图片严重失真
pDC->StretchBlt(0,0,rect.Width() ,rect.Height(),
&dcMem,0,0,bm.bmWidth,bm.bmHeight,SRCCOPY);
dcMem.SelectObject(pOldBitmap);
return TRUE;
}
方法三:
头文件定义CBrush brush;
OnInitDialog函数中:
CBitmap bmp;
bmp.LoadBitmap(IDB_BITMAP2);
brush.CreatePatternBrush(&bmp);
OnPaint或OnDraw函数中:
CPaintDC dc(this);
CRect rect;
GetClientRect(&rect);
dc.FillRect(&rect,&brush);
BOOL CColorBkgndDlg::OnEraseBkgnd(CDC* pDC)
{
return TRUE;
// return CDialog::OnEraseBkgnd(pDC);
}