MFC中使用透明PNG作为菜单项图标的问题求助
问题
我被指引查看Stack Overflow上的一则现有回答,但没法理解其中的代码。我自己写了如下代码:
CPngImage png; png.Load(IDB_PNG_MENU_REPORT, AfxGetResourceHandle()); m_bmp.Attach(png.Detach()); //CBitmap png = (HBITMAP)LoadImage(AfxGetResourceHandle(), MAKEINTRESOURCE(IDB_PNG_MENU_REPORT), // IMAGE_BITMAP, 0, 0, LR_CREATEDIBSECTION); auto pMenu = GetMenu(); if (pMenu) { pMenu->SetMenuItemBitmaps(ID_MANAGE_CONGREGATIONS_REPORT_VIEWER, MF_BYCOMMAND, &m_bmp, &m_bmp); }
运行后得到的效果如下:
我的实现没能正常工作,PNG的透明区域变成了白色:
我不知道该怎么用原回答里提到的代码,希望能得到解决方法。
内容的提问来源于stack exchange,提问作者Andrew Truckle
相关产品推荐
相关产品推荐

