MFC改個背景色,真麻煩,找了段代碼:
void CTestBmpDlg::OnPaint()
{
CPaintDC dc(this);
CRect rect;
GetClientRect(&rect);
CDC dcMem;
dcMem.CreateCompatibleDC(&dc);
CBitmap bmpBackGround;
bmpBackGround.LoadBitmap(IDB_BITMAP8);//IDB_BITMAP8是加載的BMP資源號
BITMAP bitmap;
bmpBackGround.GetBitmap(&bitmap);
CBitmap *pbmpOld = dcMem.SelectObject(&bmpBackGround);
dc.StretchBlt(0,0,rect.Width(),rect.Height(),&dcMem,0,0,bitmap.bmWidth,bitmap.bmHeight,SRCCOPY);
return;
}
做個記號,下次好用,這只是使用BMP圖片,如何直接使用png圖片再研究研究。
繼續上次研究加載PNG和JPG圖片做背景
void CTestImageDlg::OnPaint()
{
CImage img;
HRESULT ret = img.Load(_T("res/1.png")); //wuziqi.png是我要加載的圖片名稱,包含路徑
HBITMAP hbitmap = img.Detach();
//像操作 BMP 圖片一樣處理圖片 ,下面是顯示圖片的操作
CPaintDC pDC(this);
CBitmap cBitmap;
BITMAP bitmap;
CDC memdc;
cBitmap.Attach(hbitmap);
memdc.CreateCompatibleDC(&pDC);
memdc.SelectObject(hbitmap);
cBitmap.GetBitmap(&bitmap);
CRect rect;
GetClientRect(&rect);
pDC.StretchBlt(0,0,rect.Width(),rect.Height(),&memdc,0,0,rect.Width(),rect.Height(),SRCCOPY);
return;
}