Menu 在MDI模式下,不带ID的动态更改菜单标题

Menu 在MDI模式下,不带ID的动态更改菜单标题,menu,mfc,trace,mdi,Menu,Mfc,Trace,Mdi,老问题是“对话框上的菜单”更改没有id的菜单标题 代码是 //////////////////////////////////////////////////////// //CMenu* pMenu = CMenu::FromHandle(GetSkinMenu(m_pMainWnd->m_hWnd))->GetSubMenu(1); HMENU hMenu; hMenu=LoadMenu(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDR_ME

老问题是“对话框上的菜单”更改没有id的菜单标题 代码是

////////////////////////////////////////////////////////

//CMenu* pMenu = CMenu::FromHandle(GetSkinMenu(m_pMainWnd->m_hWnd))->GetSubMenu(1);
HMENU hMenu;
hMenu=LoadMenu(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDR_MENU_S8521));
//CMenu* pMenu = CMenu::FromHandle(hMenu);
CMenu* pMenu = GetMenu();
int i, nCou = pMenu->GetMenuItemCount();
UINT uID;
CString strMenu;
for (i = 0; i < nCou; i++)
{   
    uID = pMenu->GetMenuItemID(i);

    if (uID == 0) // separator
    {   
        //TRACE(_T("----------------------\n"));
        continue;
    }
    //pMenu->GetMenuString(i, ss, MF_BYPOSITION);
    if (uID == (UINT)-1)
    {   
        //TRACE(_T("Popup '%s' "), ss);

        if(i == 0)
        {
            strMenu = theApp.mLang.structMenuLang.strMenuFile;
        }

        if(i == 1)
        {
            strMenu = theApp.mLang.structMenuLang.strMenuSet;
        }

        if(i == 2)
        {
            strMenu = theApp.mLang.structMenuLang.strMenuLanguage;
        }

        if(i == 3)
        {
            strMenu = theApp.mLang.structMenuLang.strMenuHelp;
        }

        pMenu->ModifyMenu(i, MF_BYPOSITION|MF_STRING|MF_ENABLED, 0, strMenu);
        //TRACE(_T("modified to '%s' "), ss);
    }
    //else
    //  TRACE(_T("Item  '%s', ID=%d "), ss, uID);

    //TRACE(_T("\n"));
}
//Invalidate(true);
//UpdateWindow();
this->SetMenu(pMenu);
然后菜单将重新刷新。我的问题是关于MDI菜单,如何重新显示菜单标题
,在out命令窗口中,我发现跟踪消息是正确的,但UI没有更改。

好的,我使用

CMenu menu;
menu.LoadMenu(IDR_MENU_MAIN);
AfxGetMainWnd()->SetMenu(pMenu);
AfxGetMainWnd()->DrawMenuBar();
pMenu->Detach();
CMenu menu;
menu.LoadMenu(IDR_MENU_MAIN);
AfxGetMainWnd()->SetMenu(pMenu);
AfxGetMainWnd()->DrawMenuBar();
pMenu->Detach();