MFC_OnPaint_设置窗口背景图片

1. 不会自动适应窗口大小

 CRect rc;
  GetWindowRect(&rc);
  CDC *pDC;
  CDC memdc;
  CBitmap *olddc;
  CBitmap bitmap;
  bitmap.LoadBitmap(IDB_BITMAP1);
  pDC=this->GetDC();
  memdc.CreateCompatibleDC(pDC);
  olddc=memdc.SelectObject(&bitmap);
  pDC->BitBlt(0,0,rc.Width(),rc.Height(),&memdc,0,0,SRCCOPY);
  if(olddc)
  {
   memdc.SelectObject(olddc);
  }

2. 会自动适应窗口大小(经编译通过,可能导致图片显示的不完美,但的确会跟随窗口大小变化)

  CRect rctClient;
  GetClientRect(rctClient);
  CDC* pDC;
  CDC dcMem;
  pDC=this->GetDC();
  dcMem.CreateCompatibleDC(pDC);
  CBitmap m_bmp;
  m_bmp.LoadBitmap(IDB_BITMAP1);
  BITMAP bitmap;
  m_bmp.GetBitmap(&bitmap);
  CBitmap   *pbmpOld=dcMem.SelectObject(&m_bmp);
  pDC->StretchBlt(0,0,rctClient.Width(),rctClient.Height(),&dcMem,0,0,
  bitmap.bmWidth,bitmap.bmHeight,SRCCOPY);

你可能感兴趣的:(MFC)