內存DC拷貝到內存DC

 很久不搞UI,竟然今天在幫同事調試一程序犯了一個錯誤。看來要吸取教訓

貼上代碼:

void CTttttttDlg::OnPaint()
{
//  CPaintDC dc(this); // device context for painting
  HBITMAP hbmp=NULL;  
  hbmp= SHLoadDIBitmap(TEXT("//Windows//bkg.bmp"));
//  // if(NULL!=hBk)  
//  
CDC m_MenDC;  //聲明內存DC
CDC m_MenDC2; //聲明內存DC
CBitmap m_Bitmap1;   //聲明一個位圖
CDC *pdc=this->GetDC();
m_MenDC.CreateCompatibleDC(pdc);//創建內存DC
m_MenDC2.CreateCompatibleDC(pdc);//創建內存DC

m_Bitmap1.CreateCompatibleBitmap(GetDC(),480,272);  //創建一個兼容位圖,這是一個空的位圖,我們可以把它想象成一個屏幕,可以在上面畫線,輸出文字等,自己製作一個簡單的位圖。
//m_hbmpBK = (HBITMAP)::LoadImage(AfxGetInstanceHandle(),path+"Bk4.bmp",IMAGE_BITMAP,0,0,LR_LOADFROMFILE);
hbmp= SHLoadDIBitmap(TEXT("//Windows//videobkg.bmp"));

m_MenDC.SelectObject(hbmp);
m_MenDC2.SelectObject(m_Bitmap1);
m_MenDC2.BitBlt(0,0,1024,768,&m_MenDC,0,0,SRCCOPY);
pdc->BitBlt(0,0,1024,768,&m_MenDC2,0,0,SRCCOPY);//
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章