1)在C***App.h中增加afx_msg void OnFileNew();
   位置在afx_msg void OnAppAbout();后2)在C***App.cpp中将ON_COMMAND(ID_FILE_NEW, CWinApp::OnFileNew)
改成ON_COMMAND(ID_FILE_NEW, OnFileNew)3)在C***App.cpp中增加
void C***App::OnFileNew()
{
// TODO: add construction code here,
// Place all significant initialization in InitInstance
 CWinApp::OnFileNew();  CMenu*  menu =  GetMainWnd()->GetMenu();
 CMenu* submenu = menu->GetSubMenu(3);
 int count = submenu->GetMenuItemCount();
 for(int i=0;i<count-3;i++)
 submenu->DeleteMenu(count-i,MF_BYPOSITION);
}4)实现要求。原理就是增加了就删掉

解决方案 »

  1.   

    如果去掉这个"窗口"菜单项,新建窗口列表还会加到其它菜单下,有没有方法禁止产生这个列表的方法??
        我现在想把主菜单的属性都改为非弹出的,使菜单跟按钮似的,点一下直接执行功能,不弹出子菜单,但运行错误,我想可能是新建窗口列表是以子菜单的形式添加的,由于我把菜单属性都改成非弹出的,添加失败,导致错误!
        
      

  2.   

    如果去掉这个"窗口"菜单项,新建窗口列表还会加到其它菜单下会加到哪个菜单里?我现在想把主菜单的属性都改为非弹出的子菜单的功能不要了吗?
      

  3.   

    多谢关注,我想把子菜单的功能都拉到主菜单上实现,就不用子菜单了.
        我是在主框架里用函数生成的窗口,子窗口用的菜单是主框架的菜单,新建窗口列表会添加在主框架菜单的倒数第二项菜单下,如果这个主菜单倒数第二项菜单为非弹出属性,就会出错.
        用默认的模板生成的子窗口,不会出现这样的错误,把"窗口"菜单去掉也没错误,不过把默认的模板的菜单改成主框架菜单,还是有这样错误!