CMenu * pMenu = this->GetMenu();
CMenu * pSubMenu = pMenu->GetSubMenu(1); //为什么这一步的返回值是NULL,我的菜单里明明有3个菜单项呢?
if (pSubMenu)
{
pSubMenu->InsertMenu(0,MF_BYPOSITION | MF_STRING,ID_MENUITEM0,"白痴");
}         请高手解答一下下~~

解决方案 »

  1.   

    CMenu * pMenu = this->GetMenu(); 
    ============
    这一句也许有问题,要注意的是GetMenu是不能用在子窗口中的,如果你上面的代码是放在视图类的话,就不能成功,将这句改成这样试试:
    CWnd* pMain = AfxGetMainWnd();CMenu * pMenu =pMain->GetMenu(); 
      

  2.   

    CMenu * pSubMenu = pMenu->GetSubMenu(1); //为什么这一步的返回值是NULL,我的菜单里明明有3个菜单项呢
    ========================================GetSubMenu返回的是子项的指针,而不是菜单项。你上面那句是获取第二个菜单的,子项。如果没有子项当然返回空了。