怎么给菜单项加上图标,在MFC中,谢谢啦~

2024-12-21 18:42:34
推荐回答(2个)
回答1:

这个还是比较简单的
void CMainFrame::MenuChange()
{
//CBitmap *pMenuBitmap; //需要定义为成员变量
pMenuBitmap = new CBitmap;
pMenuBitmap->LoadBitmap(IDB_BITMAP_right);//需要加载的图标资源
CMenu *pWcqMenu;
pWcqMenu = GetMenu()->GetSubMenu(0);//子菜单,0代表主菜单的第一个子菜单
pWcqMenu->SetMenuItemBitmaps(1,//第几个功能,从0开始 MF_BYPOSITION| MF_STRING| MF_ENABLED,//属性 pMenuBitmap,
pMenuBitmap
);
}

上面的函数 在主框架int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)中调用即可

回答2:

好像要用OwnerDraw,自己绘制,但比较麻烦。
可以使用第三方支持MFC的开发库,比如Codejock Xtreme ToolkitPro,它做出的MFC程序,就带有菜单图标,或者去找找扩展的菜单类。这样工作量小点。