MFC 修改MF_POPUP菜单项文本的方法有点特别,记录下来备忘。文章来源:https://www.toymoban.com/news/detail-549038.html
CMenu* popup = m_menu.GetSubMenu(posTab);
CMenu popupNew;
popupNew.Attach(popup->m_hMenu);
BOOL ret = m_menu.ModifyMenu(posTab, MF_BYPOSITION | MF_POPUP,
(UINT_PTR)popupNew.m_hMenu, name);
if (ret == false) {
TRACE("ModifyMenu() fail<%d>\n",GetLastError());
}
popupNew.Detach();
关键点是ModifyMenu()函数会把关联的下级菜单的句柄与菜单文本一起修改,因此需要把之前关联的下级菜单提取出来,调用ModifyMenu()把它放回去。文章来源地址https://www.toymoban.com/news/detail-549038.html
到了这里,关于MFC 如何修改MF_POPUP菜单项文本的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!