请问为什么我创建一菜单项后,当我试图获得该菜单项的指针时有错误,该指针为NULL?

解决方案 »

  1.   

    我的程序的菜单栏初始状态如下:
    ---------------------------------
    文件    编辑      查看        帮助
     -打开   -复制    -工具栏
     -保存   -剪切    -状态栏
    ---------------------------------
    如果我要加一个菜单如下:
    文件    编辑      查看        帮助   测试
     -打开   -复制    -工具栏 -测试1
     -保存   -剪切    -状态栏 -测试2
    ----------------------------------
    并且将"测试1"、"测试2"两个菜单项与程序中已经存在的两个程序块关联起来,
    我应该如何做?
    我尝试做的时候,出现错误,我的代码如下:
    CMenu *pmenu,*psubmenu;
    pmenu=GetMenu();
    pmenu->InsertMenu(-1,MF_BYPOSITION,0,"测试");
    psubmenu=pmenu->GetSubMenu(0);
    ASSERT(psubmenu!=NULL);//在此处出现错误
      

  2.   

    InsertMenu()的第一个参数怎么可能是-1呢?那是你要插入菜单的位置啊,你这里应该是4才对啊,而且,第三个参数怎么能设为0呢?你得先建立一个名字为“测试”的单独弹出式菜单,然后获取它的HMENU,放在的三个参数上,第四个参数设为NULL;第二个参数应该设为:MF_BYPOSITION | MF_POPUP,这样就应该能够创建成功了那个“测试”的单独的popup菜单,测试1、测试2是在“测试”菜单下,只是没有挂在主菜单下而已再细节的东西,就自己处理罗,呵呵,其实我也是从MSDN中看来的
      

  3.   

    因为我也没有做过这样的东西,完全是根据MSDN的提示做的,我认为应该是可行的,你调试看看是什么错误,如果实在解决不了,而且又没有什么秘密的话,请将代码发至[email protected],写明问题,我帮你看看,:)