很久不搞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);//
}