081230
一: 利用两个兼容HDC,同时贴多张图
不用做插入图片,修改ID等工作,动态链接,必需在目录下面有图片资源。
HBITMAP bitmap ;
HBITMAP first_bit ;
HDC ui_mdc;
HDC first_mdc;
HDC dc=::GetDC(NULL);
first_mdc=CreateCompatibleDC(dc);
ui_mdc=CreateCompatibleDC(dc);
first_bit=::CreateCompatibleBitmap(dc,1024,768);
::SelectObject(first_mdc,first_bit);
bitmap=(HBITMAP)::LoadImage(NULL,"BMP/03.bmp",IMAGE_BITMAP,0,0,LR_LOADFROMFILE);
::SelectObject(ui_mdc,bitmap);
::BitBlt(first_mdc,0,0,800,590,ui_mdc,0,0,SRCCOPY);
::BitBlt(dc,206,40,800,590,first_mdc,0,0,SRCCOPY);
bitmap=(HBITMAP)::LoadImage(NULL,"BMP/01.bmp",IMAGE_BITMAP,0,0,LR_LOADFROMFILE);
::SelectObject(ui_mdc,bitmap);
::BitBlt(first_mdc,0,0,119,64,ui_mdc,0,0,SRCCOPY);
::BitBlt(dc,850,150,119,64,first_mdc,0,0,SRCCOPY);
bitmap=(HBITMAP)::LoadImage(NULL,"BMP/02.bmp",IMAGE_BITMAP,0,0,LR_LOADFROMFILE);
::SelectObject(ui_mdc,bitmap);
::BitBlt(first_mdc,0,0,115,63,ui_mdc,0,0,SRCCOPY);
::BitBlt(dc,850,250,115,63,first_mdc,0,0,SRCCOPY);
bitmap=(HBITMAP)::LoadImage(NULL,"BMP/02.bmp",IMAGE_BITMAP,0,0,LR_LOADFROMFILE);
::SelectObject(ui_mdc,bitmap);
::BitBlt(first_mdc,0,0,115,63,ui_mdc,0,0,SRCCOPY);
::BitBlt(dc,850,250,115,63,first_mdc,0,0,SRCCOPY);
::ReleaseDC(NULL,ui_mdc);
::ReleaseDC(NULL,first_mdc);
::ReleaseDC(NULL,dc);
二:一张张地贴图
需要插入图片,修改ID,图片资源固化在程序中。可以不用图片资源
CDC Chessboard;
CDC Begin;
CDC End;
CDC Mask;
CBitmap m_chessboard;
CBitmap m_begin;
CBitmap m_end;
CBitmap m_mask;
m_chessboard.LoadBitmap(chessboard); //用CBitmap类中的LoadBitmap函数来加resource中的位图chessboard
m_begin.LoadBitmap(begin);
m_end.LoadBitmap(end);
m_mask.LoadBitmap(mask);
Chessboard.CreateCompatibleDC(pDC);
Chessboard.SelectObject(m_chessboard);
Begin.CreateCompatibleDC(pDC);
Begin.SelectObject(m_begin);
End.CreateCompatibleDC(pDC);
End.SelectObject(m_end);
Mask.CreateCompatibleDC(pDC);
Mask.SelectObject(m_mask);
pdc->BitBlt(0,0,800,600,&Chessboard,0,0,SRCCOPY);
pdc->BitBlt(590,145,119,64,&Begin,0,0,SRCCOPY);
pdc->BitBlt(590,275,115,63,&End,0,0,SRCCOPY);
pdc->BitBlt(520,380,260,112,&Score,0,0,SRCCOPY);