解决方案 »

  1.   

    // CMenu Menu,*pMenu;
    // Menu.LoadMenu(IDR_MENU_POP);
    // pMenu=Menu.GetSubMenu(0);
    // POINT pt;
    // GetCursorPos(&pt);
    // pMenu->TrackPopupMenu(TPM_LEFTALIGN|TPM_BOTTOMALIGN|TPM_LEFTALIGN|TPM_RIGHTBUTTON,pt.x,pt.y,this);
      

  2.   

    HMENU hroot = LoadMenuA(NULL, "MENU");
    if (hroot)
    {
    POINT pt = msg.ptMouse;
    ClientToScreen(m_hWnd,&pt);
    HMENU hpop = GetSubMenu(hroot,0);
    TrackPopupMenu(hpop,  
    TPM_LEFTALIGN | TPM_TOPALIGN | TPM_RIGHTBUTTON,  
    pt.x,  
    pt.y,  
    0,  
    m_hWnd,  
    NULL);  
    // 用完后要销毁菜单资源  
    DestroyMenu(hroot); 
    }这是我以前用过的一段
    获取坐标的部分可以忽略掉,其他的部分可以参考下
      

  3.   


    你的和上面的那位版主的应该是一样的,但是我这样写Menu.GetSubMenu(0),那个指针是空的,然后不会弹出菜单,不知道怎么回事
      

  4.   

    首先菜单资源必须要有子菜单,就是Menu[“文件”]{MenuA["保存"],MenuB["载入"]}。然后通过LoadMenu加载菜单资源到Menu。Menu。GetSubMenu(0)得到子菜单{MenuA["保存"],MenuB["载入"]},子菜单再TrackPopupMenu显示。