如何将CMenu完整复制到CMFCPopupMenu并保留所有元素及位图?
我尝试使用CMFCPopupMenu::Create()方法将CMenu的内容复制到CMFCPopupMenu中,所有菜单项均正常显示,但位图无法显示。将该CMenu插入工具栏时,位图可以正常显示。
CMenu实现代码片段
CMenu* TestCMenu = new CMenu(); TestCMenu->CreateMenu(); // 创建子菜单 CMenu* subMenu1 = new CMenu(); // 创建弹出式子菜单 subMenu1->CreatePopupMenu(); HBITMAP hBitMap = (HBITMAP)LoadImage(NULL, L"SampleBitmap.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE); subMenu1->AppendMenu(MF_STRING, ID_NEW, TEXT("New")); subMenu1->SetMenuItemBitmaps(ID_NEW, MF_STRING, CBitmap::FromHandle(hBitMap), CBitmap::FromHandle(hBitMap)); subMenu1->AppendMenu(MF_STRING, ID_EXIT, TEXT("Exit")); subMenu1->SetMenuItemBitmaps(ID_EXIT, MF_STRING, CBitmap::FromHandle(hBitMap), CBitmap::FromHandle(hBitMap)); SetMenu(TestCMenu);

CMFCPopupMenu实现代码片段
CMFCPopupMenu* TestCMFCPopMenu = new CMFCPopupMenu; TestCMFCPopMenu->SetAutoDestroy(FALSE); TestCMFCPopMenu->Create(this, 1000,400, subMenu1->GetSafeHmenu());

可以看到第二张图中位图未显示,请问我哪里操作有误?
内容的提问来源于stack exchange,提问作者latosvarun
相关产品推荐
相关产品推荐

