http://hi.baidu.com/zou_wei/blog/item/cf27169554b1230e7bf48096.html
昨晚搜了下 方法是上面这个网....  但是为什么我做出来的效果和上面帖子的不同呢....还有SetBkColor 和SetTextColor这2个函数不是文本的背景颜色和字体颜色的函数吗怎么和位图背景有关了。。?? 

解决方案 »

  1.   

    http://www.vckbase.com/index.php/wv/358在Windows2000以上环境实际运用中建议使用现成的TransparentBlt函数来绘制透明位图。 
      

  2.   

     
    嘛 朋友。。这个函数我也知道。。但是图贴不出来......很是奇怪..... 我不是用MFC的。。 我是WIN32 SDK函数来写程序的....  
           case WM_PAINT:
    hdc = BeginPaint(hWnd, &ps);
    // TODO: 在此添加任意绘图代码...
    HDC hdcme;
    hdcme=CreateCompatibleDC(hdc);
    SelectObject(hdcme,hBitmap1);
    BitBlt(hdc,0,0,200,200,hdcme,0,0,SRCCOPY);
    SelectObject(hdcme,hBitmap2);
    TransparentBlt(hdc,0,0,200,200,hdcme,0,0,200,200,RGB(0,0,255));
    DeleteDC(hdcme);
    EndPaint(hWnd, &ps);
    break;
    hBitmap1是背景图 用BitBlt可以贴上 。第二张是要透明的BMP图...但是连图都贴不上~~
    头文件包含了这个#pragma comment(lib,"Msimg32.lib")
      

  3.   


    你确定位图的宽度和高度都是200?BITMAP bmp;
    GetObject(hBitmap2, sizeof(bmp), &bmp);
    SelectObject(hdcme, hBitmap2);
    TransparentBlt(hdc,0,0,200,200,hdcme,0,0,bmp.bmWidth,bmp.bmHeight,RGB(0,0,255));
      

  4.   

    好吧。。没事了...那个背景并不完全是0 0 0xff的..晕死 谢谢你了