多文档程序中每个文档摸板有各自不同的菜单,用AfxGetMainWnd()->GetMenu()只能得到主框架的菜单,那不是我想要的。如果才能编辑各个不同文档摸板的菜单呢?

解决方案 »

  1.   

    CMainFrame* PosFrmMain = (CMainFrame*)AfxGetMainWnd();
    CMDIChildWnd* PosFrm;
    PosFrm = PosFrmMain->MDIGetActive(NULL);
    PosFrm->GetMenu();
      

  2.   

    m_pRunMenu = new CMenu;
    m_pRunMenu->LoadMenu(IDR_RUNMENU); 
    SetMenu(m_pRunMenu);
      

  3.   

    我想在程序启动的时候根据配置文件里的内容修改增加或删除一些菜单项,上面那段代码我无论写在哪里都会出错,在CMainFrame::OnCreate里,CChildFrame::OnCreate里,或者是CChildFrame::OnSize里
      

  4.   

    抱歉,我指的是  uhlan(uhlan) ( ) 的代码,楼上兄弟的代码我马上试试
      

  5.   

    CMenu pPopupMenu; CDocument* pDoc = GetDocument();
    if( pDoc->IsKindOf(RUNTIME_CLASS(CManProsDoc)) )
    {
    VERIFY(pPopupMenu.LoadMenu(IDR_POP_MANPRO));
    }
    else if( pDoc->IsKindOf(RUNTIME_CLASS(CManDoc)) )
    {
    VERIFY(pPopupMenu.LoadMenu(IDR_POP_MANS));
    }

    else
    return;
    这里的窗体和菜单是对应的
      

  6.   

    CMenu pPopupMenu; CDocument* pDoc = GetDocument();
    if( pDoc->IsKindOf(RUNTIME_CLASS(CManProsDoc)) )
    {
    VERIFY(pPopupMenu.LoadMenu(IDR_POP_MANPRO));
    }
    else if( pDoc->IsKindOf(RUNTIME_CLASS(CManDoc)) )
    {
    VERIFY(pPopupMenu.LoadMenu(IDR_POP_MANS));
    }

    else
    return;
    这里的窗体和菜单是对应的