CMenu* m_menu;m_menu = this->GetMenu();
m_menu->EnableMenuItem(IDM_OPEN,MF_ENABLED);我的菜单只有file,file下是IDM_OPEN项,运行报错:某内存不能为读。为什么错?

解决方案 »

  1.   

    m_menu->EnableMenuItem(IDM_OPEN,MF_ENABLED|MF_BYCOMMAND);
      

  2.   

    CMenu *pMenu = GetMenu();
    CMenu *pSubMenu = pMenu->GetSubMenu(0);
             pMenu->EnableMenuItem(IDM_OPEN, MF_ENABLED);
      

  3.   

    先将菜单的ID号与对话框的一个属性关联,再
    CMenu* m_menu;m_menu = this->GetMenu();
    m_menu->EnableMenuItem(IDM_OPEN,MF_ENABLED);
    就可以了。
      

  4.   

    你遇到的问题我怎么就没有遇到,是不是没有implement function
    你的菜单命令有没有对应的函数啊?
      

  5.   

    CMenu p;
    p.CreateMenu();
    CMenu pop;
    pop.CreatePopupMenu();
    pop.AppendMenu(MF_STRING,ID_NEW,"NEW");
    pop.AppendMenu(MF_STRING,ID_OPEN,"OPEN");
    p.AppendMenu(MF_POPUP,(UINT)pop.Detach(),"FILE");
    我以前和你遇到一样的问题,我把他改为上面的就可以了,你试一试看行不行