CMultiDocTemplate* pDocTemplate;
pDocTemplate = new CMultiDocTemplate(IDR_Menu2,
RUNTIME_CLASS(CMyDoc),
RUNTIME_CLASS(CChildFrame),
RUNTIME_CLASS(CMyView));把CChildFrame的菜单替换后,IDR_Menu2并没有改变,请问IDR_Menu2是
CChildFrame的菜单吗,怎么替换它?

解决方案 »

  1.   

    从资源里面可以找到IDR_Menu2,多文档情况下有两种菜单,一种是没有view情况下的,一种是有view情况下的,你可以试一试,关掉所有view与有view情况下的菜单是不同的,想换掉你直接从资源里改就可以了
      

  2.   

    pDocTemplate = new CMultiDocTemplate(IDR_Menu2,
    RUNTIME_CLASS(CMyDoc),
    RUNTIME_CLASS(CChildFrame),
    RUNTIME_CLASS(CMyView));这里可以替换菜单吗?应该是在OnCreate里面吧, 改CS.hmenu
      

  3.   

    对,我已经替换了没有的View的,有View的替换不了了,咋办?MyMenu = pMainFrame->m_defaultmenu;
    Attach(MyMenu); //可以MyMenu = pChildFrame->m_defaultmenu;
    Attach(MyMenu); //不可以
      

  4.   

    这里可以改变的,是子框架的菜单,你建另一个Menu,把它的ID写在CMultiDocTemplate第一参数就可以。