我做了一个弹出菜单。
但是在菜单弹出的时候只有大约两个像素那么宽。而建立快捷菜单的时候是正常的长度的。不知道怎么回事。
下面是我的代码。
         CMenu Menu;
         Menu.LoadMenu(IDR_MENU);         POINT point;
GetCursorPos(&point); Menu.TrackPopupMenu(TPM_LEFTALIGN|TPM_LEFTBUTTON, point.x,point.y,AfxGetMainWnd(),NULL);

解决方案 »

  1.   

    void CMyTreeCtrl::OnContextMenu(CWnd* pWnd, CPoint ptMousePos) 
    {
    // if Shift-F10
    if (ptMousePos.x == -1 && ptMousePos.y == -1)
    ptMousePos = (CPoint) GetMessagePos(); ScreenToClient(&ptMousePos); UINT uFlags;
    HTREEITEM htItem;

    htItem = HitTest( ptMousePos, &uFlags ); if( htItem == NULL )
    return;

    m_hActiveItem = htItem; CMenu menu;
    CMenu* pPopup; // the font popup is stored in a resource
    menu.LoadMenu(IDR_TREEITEM_CONTEXTMENU);
    pPopup = menu.GetSubMenu(0);
    ClientToScreen(&ptMousePos);
    pPopup->TrackPopupMenu( TPM_LEFTALIGN, ptMousePos.x, ptMousePos.y, this );
    }