MFC中如何载入bmp和jpeg格式的图片,并作为文件背景

步骤一:导入bmp文件:

第二步:设置为背景:

①?添加OnCtlColor消息响应函数:

②?添加响应代码:

HBRUSH?CMyDlg::OnCtlColor(CDC*?pDC,?CWnd*?pWnd,?UINT?nCtlColor)?

{

HBRUSH?hbr?=?CDialog::OnCtlColor(pDC,?pWnd,?nCtlColor);

//?TODO:?Change?any?attributes?of?the?DC?here

static?CBrush?gBr;

static?bool?isInited?=?false;

if(!isInited)

{

CBitmap?bitmap;

bitmap.LoadBitmap(IDB_BITMAP1);

gBr.CreatePatternBrush(&bitmap);

COLORREF?clearColor?=?-1;

bitmap.DeleteObject();

isInited?=?true;

}

if(pWnd==this)

{

pDC->SetBkMode(TRANSPARENT);

return?gBr;?//主窗口背景使用这个背景刷

}

else

{

pDC->SetBkMode(TRANSPARENT);

return (HBRUSH)::GetStockObject(NULL_BRUSH);?//其他控件使用透明背景

}

//?TODO:?Return?a?different?brush?if?the?default?is?not?desired

return?hbr;

}

③效果图:

静态文本框、单行多行输入文本框、列表框、ListCtrl等都可以***享主窗口的背景,但是按钮需要另外设置才可以。