MDI框架程序,一个文档的多个视图对应各自不同的菜单资源。比如CMyDocument下设计有两个View:
CView1 -> menu1
CView2 -> menu2如何实现?谢谢!

解决方案 »

  1.   

    谢谢!解决了。
    方法一:问】如何动态改变菜单?
    答】
    1
    CMenu cMenu;
    //调用新的以IDR_NEWMENU表示的菜单资源; 
    cMenu.LoadMenu(IDR_NEWMENU);
    //将cMenu设置为当前菜单; 
    SetMenu(&cMenu);
    //释放菜单句柄 
    cMenu.Detach();
    //重画菜单条;
    DrawMenuBar();
    //重新绘制窗口区域;
    RecalcLayout(TRUE);
    2
    //装载菜单资源:
    m_Menu.LoadMenu(IDR_MENU_REPORT);
    //销毁原菜单:
    this->SetMenu(NULL);
    ::DestroyMenu(this->m_hMenuShared); //m_hMenuShared指框架主菜单 m_hMenuDefault视图菜单
    //设置新的菜单:
    this->SetMenu(&m_Menu);
    this->m_hMenuShared = m_Menu.GetSafeHmenu();
    //重画菜单条
    this->DrawMenuBar();方法二:
    重载CDocument::GetDefaultMenu()