MFC對話框改變背景色

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;

}

 

發佈了16 篇原創文章 · 獲贊 10 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章