我的MDI有两个MENU框架 一个是IDR_MAINFRAME  另一个是IDR_TESTTYPE,我发现我得运行时显示的是IDR_TESTTYPE的菜单,我怎么才能获得它呢?
我用GetMenu()->GetSubMenu(4)->CheckMenuItem(0,MF_BYPOSITION|MF_CHECKED);
我得菜单并没有被CHECKED,可能是GetMenu并没有得到IDR_TESTTYPE,我该怎么做呢?谢谢了

解决方案 »

  1.   

    是啊,你的GetMenu没有指定时那一个Menu ,系统怎么知道该取那一个。IDR_TESTTYPE是你自己定义的Menu资源,再加入的时候,总的关联一个CMenu对象吧,你可以通过这个对象来设置啊。
      

  2.   

    不好意思,我初学,那个关联得对象在哪?我是用menu设计器直接直接生成得亚?我什么都没干,vc自动加载得这个菜单,根本没有加载第一个亚?我搜索全部文件,只有这个地方用到了我两个菜单,一个是IDR_MAINFRAME,一个是IDR_test1TYPE,我现在要获得IDR_test1TYPE,可是用getmenu()获得不到亚?程序到底加载得是哪个菜单呢?显示得是IDR_test1TYPE,又获得不到,为什么亚? CMultiDocTemplate* pDocTemplate;
    pDocTemplate = new CMultiDocTemplate(IDR_test1TYPE,
    RUNTIME_CLASS(Ctest1Doc),
    RUNTIME_CLASS(CChildFrame), // 自定义 MDI 子框架
    RUNTIME_CLASS(Ctest1View));
    if (!pDocTemplate)
    return FALSE;
    AddDocTemplate(pDocTemplate);
    // 创建主 MDI 框架窗口
    CMainFrame* pMainFrame = new CMainFrame;
    if (!pMainFrame || !pMainFrame->LoadFrame(IDR_MAINFRAME))
    return FALSE;
    m_pMainWnd = pMainFrame;