RT.. 初学mfc照着教程的如下代码:GetMenu()->GetSubMenu(0)->CheckMenuItem(0, MF_CHECKED | MF_BYPOSITION);但发运行不了会报错,网上搜索了一下好像是说是因为vs2008以后使用的是CMFCToolBarButton,请问我要用CMFCToolBarButton实现那个GetMenu的功能要如何做?谢谢。

解决方案 »

  1.   

    你先把GetMenu()->GetSubMenu(0)->CheckMenuItem(0, MF_CHECKED | MF_BYPOSITION);
    分开写看各阶段函数返回是否正常。如果返回NULL接下去调用肯定报错。
    如:CMenu* pMenu = GetMenu();
    if(!pMenu) AfxMessageBox("wrong");
      

  2.   

    建议用ON_UPDATE_COMMAND_UI来解决
      

  3.   

    GetMenu()是为NULL的, 网上查到的是因为vs2008使用的是菜单跟vs6不一样了,所以为NULL,所以我现在想知道用vs2008里的新方法如何实现以前的功能? ON_UPDATE_COMMAND_UI 我知道,我就是想看一下新的方法怎么用。
      

  4.   

    请问用ON_UPDATE_COMMAND_UI怎么解决啊?每一个菜单后面都添加一个ONUPDATE函数?