怎么创建右键菜单?用什么类?

解决方案 »

  1.   

    CMenu类,响应RBUTTONDOWN消息
    用LoadMenu函数
      

  2.   

    //--------------------------------------------------------------
    // To show a popup menu on the window
    // 写个函数给你去用,在鼠标右键事件中去调用这个函数
    //--------------------------------------------------------------
    BOOL ShowPopupMenu(CWnd* pWnd, UINT nID)
    {
    ASSERT(nID!=NULL && pWnd!=NULL);
    CMenu menu;
    CPoint pt;
    GetCursorPos(&pt);
    if(!menu.LoadMenu(nID))
    {
    TRACE0("Falied to load menu source.\n");
    return FALSE;
    }
    CMenu* pPopup = menu.GetSubMenu(0);
    ASSERT(pPopup != NULL);
    pWnd->SetForegroundWindow();
    return pPopup->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, pt.x, pt.y, pWnd);
    }
      

  3.   

    菜单也是窗口继承自CWnd
    要用的时候Create出来就好了