步驟壹:導入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等都可以***享主窗口的背景,但是按鈕需要另外設置才可以。