请问,如何在MFC单文档程序中显示镂空图?图片有唯一的背景色。
是否可以使用TransparentBlt函数
那么具体应如何操作?能否提供详细的例程
谢谢

解决方案 »

  1.   

    可以使用TransparentBlt函数,好像参数相当的简单吧。
      

  2.   

    嗯,但是按照网上看的,自己写了之后显示不出来啊
    代码如下,其中是否有什么问题么?
    CDC* pDC=GetDC();
    CDC   memDC;   
    memDC.CreateCompatibleDC(pDC);
    CBitmap bitmap;
    CBitmap* pOldBitmap;
    bitmap.LoadBitmap(IDB_BITMAP1);
    pOldBitmap=pDC->SelectObject(&bitmap);
    BITMAP   bm;   
    bitmap.GetObject(sizeof(BITMAP),   &bm);
    TransparentBlt(pDC->m_hDC,0,0,400,400,memDC.m_hDC,0,0,bm.bmWidth,bm.bmHeight,RGB(255,255,255)); bitmap.DeleteObject();
      

  3.   

    pOldBitmap=pDC-> SelectObject(&bitmap); 
    改成
    pOldBitmap = memDC.SelectObject(&bitmap);
    pDC->TransparentBlt(0,0,400,400,&memDC,0,0,bm.bmWidth,bm.bmHeight,RGB(255,255,255)); memDC.SelectObject(pOldBitmap);