向导创建的MFC MDI程序有一个菜单条,有没有办法去掉它呢?有例子最好了。

解决方案 »

  1.   

    http://www.china-askpro.com/msg42/qa24.shtml
      

  2.   

    在PreCreateWindow()中加入
    if(var.hMenu!=NULL) 
    {
         DestroyMenu(var.hMenu); 
         var.hMenu = NULL;
    }
      

  3.   

    在CMainFrame::OnCreate()中
    SetMenu(NULL);
      

  4.   

    在PreCreateWindow中将CREATESTRUCT cs;
    DestroyMenu(cs.hMenu)
    cs.hMenu = NULL;
      

  5.   

    你搜索Create看看这个函数Oncreate()
      

  6.   

    对.
    正如楼上说的.
    如果你是在MFC下,在PreCreateWindow函数中将CREATESTRUCT cs;
    DestroyMenu(cs.hMenu)
    cs.hMenu = NULL;
    这样MFC默任的Menu就被取消了.
      

  7.   

    flyelf(空谷清音)的答案最简单有效了
      

  8.   

    在CMainFrame::OnCreate()中
    SetMenu(NULL);
      

  9.   

    谢谢各位,上面两种方法我都试了。
    很不幸的是,Assertion Failed: winmdi.cpp, line 129
    Release 版本也是非法操作,不能运行。
    为什么呢?
      

  10.   

    wuxfBrave(升星了,休息休息) 和 tangl_99(Min-Kyeong) 的方法都可以,测试通过,不过最好把分号加全,要不编译通不过
      

  11.   

    我也试了下wuxfBrave(升星了,休息休息)的方法,确实会产生Debug错误。
    楼主应该参考bcpl(我是宇宙中的一粒沙子)提供的方法,相当好。
      

  12.   

    bcpl的方法我也试过了,是程序运行后,通过工具栏上的一个按钮来做隐藏动作,关键代码也是SetMenu(NULL); 为什么不会出错呢?是不是这种方法在窗口创建后才能用?但是我需要程序一开始就没有菜单,怎么才能办到呢?