哪位大虾帮我个忙,
在程序中具体怎么做一个鼠标右键菜单,
即点击右键时弹出一个菜单?

解决方案 »

  1.   

    响应一个叫ContentMenu的消息
    上下文菜单,MFC Programming中有讲的。
      

  2.   

    工程->添加工程->Components->visualc++ components->popup menu,选定添加到的地方。
    资源中生成了Menu->CG_IDR_POPUP_XXVIEW
    视类中添加了void CTTView::OnContextMenu(CWnd*, CPoint point){}//控制菜单弹出
    剩下的在菜单项中添加ID,消息映射即可。
      

  3.   

    CMenu m_PopMenu;
    m_PopMenu.LoadMenu(IDR_MENU_RIGHTVIEW); //装入你相应的菜单资源
    POINT Pt;
    GetCursorPos(&Pt);
    m_PopMenu.GetSubMenu(0)->TrackPopupMenu(
       TPM_LEFTALIGN|TPM_RIGHTBUTTON,Pt.x,Pt.y,AfxGetApp()->GetMainWnd());
      

  4.   

    如果我的程序不是用的MFC,比如一个游戏场景,我想在程序运行时,
    当我选中一个物体时,右键点击这个物体能弹出一个菜单,恳请指教!
      

  5.   

    //首先要做两个工作:一,添加一个菜单(自己搞定),二添加一个事件处理函数如下
    void CSDIView::OnRButtonDown(UINT nFlags, CPoint point) 
    {
    // TODO: Add your message handler code here and/or call default
    CMenu * menu=new CMenu();
    menu->LoadMenu(IDR_MENU1);
    CMenu * submenu=menu->GetSubMenu(0);
    CPoint p=point;
    ClientToScreen(&p);
    submenu->TrackPopupMenu(TPM_LEFTALIGN|TPM_RIGHTBUTTON,p.x,p.y,this);
    CView::OnRButtonDown(nFlags, point);
    }