MFC 新手问题!!
来源:百度知道 编辑:UC知道 时间:2024/05/23 00:22:57
我这有个图片互换函数,你可以参考下:
void CDrawRect::LoadMove2(CDC *pDC, int nID1, int nID2,CRect rect,COLORREF color)
{
CDC m_pdcMemory[2];
CBitmap m_pBitmap[2];
CBitmap* pOldBitmap[2];
m_pBitmap[0].LoadBitmap(nID1);
m_pBitmap[1].LoadBitmap(nID2);
BITMAP bm;
for(int i=0;i<2;i++)
{
m_pdcMemory[i].CreateCompatibleDC(pDC);
pOldBitmap[i]=m_pdcMemory[i].SelectObject(&m_pBitmap[i]);
m_pBitmap[i].GetObject(sizeof(bm), &bm);
m_sizeSource.cx = bm.bmWidth;
m_sizeSource.cy = bm.bmHeight;
m_sizeDest = m_sizeSource;
pDC->DPtoLP(&m_sizeDest);
}
TransparentBlt(pDC->m_hDC, rect.left, rect.top, rect.Width(), rect.Height(),m_pdcMemory[index=(index+1)%2].m_hDC,0,0, bm.bmWidth, bm.bmHeight, color); //透明化函数
m_pdcMemory[index=(index+1)%2].SelectObject(*pOldBitmap[index=(index+1)%2]);
m_pdcMemory[0].DeleteDC();
m_pdcMemory[1].DeleteDC();
m