我使用TrackPopupMenu()弹出菜单。
可是当Menu项的字串过长时,在98下菜单不能弹出。
(该函数的返回值和GetLastError值都是正确的)各位有没有遇到过同样的问题?

解决方案 »

  1.   

    Menu项的字串是有长度限制的。
      

  2.   

    你的意思是你的代码在NT 2000 XP 下可以正常POP出来.在98下就不行.
    如果是这样的话.那么
    不可以呀.我在98也用这函数可以弹出来的.你先换一台别的98系统的电脑在试试.然后在下绪论,最有可能的是那台98有问题
      

  3.   

    Menu的长度是 〉175我的Code是这样的:void CMenuView::OnRButtonUp(UINT nFlags, CPoint point) 
    {
        // TODO: Add your message handler code here and/or call default
        CMenu menu;
        if (menu.LoadMenu(IDR_MAINFRAME))
        {
            CMenu* pMenu = menu.GetSubMenu(0);
            if (pMenu != NULL)
            {
                CPoint ptTemp = point;
                ClientToScreen(&ptTemp);
                VERIFY(pMenu->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON,
                                             ptTemp.x, ptTemp.y, this));
            }
        }
    CView::OnRButtonUp(nFlags, point);
    }