谁能详细解释一下CMenu::ModifyMenu函数 ?

gdi_gtk2 gdi_gtk2 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我在自绘制菜单时需要修改菜单,
void CMenuEx::InitMenuItems(bool bFirst)
{
int iMaxItems = GetMenuItemCount();
for(int i = 0; i < iMaxItems; i++)
{
CString strMenu;
GetMenuString(i, strMenu, MF_BYPOSITION); //得到菜单项标题
MenuItem* pItem = new MenuItem;
pItem->iIndex = i;
pItem->hIcon = NULL;
pItem->bFirstMenu = bFirst;
strcpy(pItem->strCaption,strMenu);
ModifyMenu(GetMenuItemID(i), MF_BYCOMMAND | MF_OWNERDRAW ,GetMenuItemID(i), (char*)pItem);

if(GetSubMenu(i))
{
CMenuEx* pSubMenu = new CMenuEx;
pSubMenu->Attach(GetSubMenu(i)->GetSafeHmenu());
pSubMenu->InitMenuItems();//false
}
}
}
是弹出菜单就显示有问题,其余是好的.
...全文

相关推荐

评论 4
收藏 已收藏
分享
返回顶部
gdi_gtk2
VC/MFC 16,550 成员 421,605 内容