在这里调用destroymenu是不对了,你刚创建就给destory了,怎么能看到呢?
正确做法的应该在这里调用menu.detach(),(如果这个菜单是某个窗口,你可以不用管资源释放)
在你要删除菜单的地方才调用destroymenu

解决方案 »

  1.   

    Menu和popupmenu是两种东西,你说的情况应该是用popupmenu。
      

  2.   

    将CreateMenu()变成CreatePopupMenu()就可以了。宽度会自动调整的,不用你再设置。
      

  3.   

    不应该使用MF_POPUP(下拉菜单)吧,你试试AppendMenu(MF_STRING,0,"开始")、AppendMenu(MF_STRING,1,"开始"),如果要用MF_POPUP,那么还要定义一个菜单,然后粘贴到menu上去
    ...
    CMenu menu1;
    menu1.AppendMenu(...);
    ...
    menu.AppendMenu(MF_POPUP,(UINT)menu1.m_hMenu,"开始");
      

  4.   

    问题出在CreateMenu,改为CreatePopupMenu(),加上MF_POPUP为MF_STRING,谢谢大家。给分!