HICON hLargeIcon = NULL;
HICON hSmallIcon =NULL;
ExtractIconEx(strPath,0,&hLargeIcon,&hSmallIcon,1);//获取Ap的系统图标
ICONINFO   info; 
::GetIconInfo   (hSmallIcon,   &info); 
BITMAP   bmp; 
::GetObject(info.hbmColor, sizeof(BITMAP), (LPVOID)&bmp); 
HBITMAP   hBmp   =   (HBITMAP)   ::CopyImage   (info.hbmColor,   IMAGE_BITMAP,   0,   0, LR_LOADTRANSPARENT); 
openWithListView.AppendMenu(MF_STRING,ID_FILE_OPENWITH_BEGIN+j,strApDisplayName);
SetMenuItemBitmaps(openWithListView, j-1, MF_BYPOSITION, hBmp, hBmp);//MenuItem 显示图标
现在菜单项前图标能显示,但有小黑影~~~ 如何解决

解决方案 »

  1.   

    除了自绘呢,在我的代码基础上能不能做修改,是我传的Bitmap有问题。。如何做mask
      

  2.   

    就是显示的图标有黑色的背影,如何去除,除了自绘有什么好办法?请指点,Thanks~~
      

  3.   

    和这位楼主的问题类似....  http://topic.csdn.net/u/20100427/14/5ea006e8-d990-4612-b57b-dfd28dcb34e7.html
      

  4.   

    已解决
    ConvertIconToBmp(pDC, strOpenApPath);