我在一个MDI工程中,想一直不显示主菜单,于是我在MainFrame中的ON_WM_ACTIVATE()消息中加了SetMenu(NULL)窗口建立后,运行后在显示第一个childFrm时不显示菜单了,可运行第二个childFrm后,退出时,主菜单又显示了。不知在哪改设SetMenu(NULL)了.问:
   1) 在哪设置,可使主菜单不显示。
   2)MainFrame窗口建立后的第一个消息是什么消息?

解决方案 »

  1.   

    BOOL   CChildFrame::PreCreateWindow(CREATESTRUCT&   cs) 

            if(   !CMDIChildWnd::PreCreateWindow(cs)   ) 
                    return   FALSE;         if(cs.hMenu   !=   NULL) 
            { 
                    ::DestroyMenu(cs.hMenu); 
                    cs.hMenu   =   NULL; 
            }         AfxGetMainWnd()-> SetMenu(NULL);         return   TRUE; 
      

  2.   

    在CMDIChildWnd的PreCreateWindow里设置HMENU为NULL
      

  3.   

    在调用基类的OnCreate之后,自己的OnCreate中即可设置菜单为NULL。
    窗体创建完毕后,
    WM_SHOWWINDOW
    开始发送。
      

  4.   

    老大不行的!再退出时还是会出现Mainframe主菜单的!
      

  5.   

    在资源视图的Menu中删掉IDR_xxxTYPE
    然后在OnCreate()中加入:   
      if(lpCreateStruct->hMenu)   
      {   
                  lpCreateStruct->hMenu=NULL;   
                  DestroyMenu(lpCreateStruct->hMenu);   
                  SetMenu(NULL);   
      }

    即可删掉主菜单!
      

  6.   

    这个应该是MFC框架内在的机制,删除不掉,你可以直接从Cwnd派生一个类来达到你的目的了
      

  7.   

    IDR_xxxTYPE 可以删,我用过的!但IDR_MAINFRAME不能删!