怎样在visual studio的MFC中创建鼠标右键弹出菜单?请指教操作方法

解决方案 »

  1.   

    你是想在自己的程序中创建吗?如果是的话,在mouse rbutton down的事件中,void xxxxxxxxx::OnRButtonDown(UINT nFlags, CPoint point) 
    {
    // TODO: Add your message handler code here and/or call default

    CMenu popmenu; UINT e;
    CPoint pt; popmenu.CreatePopupMenu(); //添加菜单项目
    popmenu.AppendMenu(0, ID_EDIT_UNDO, "Undo(&U)\tCtrl+Z");
    GetCursorPos( &pt );
    popmenu.TrackPopupMenu(TPM_RIGHTBUTTON, pt.x, pt.y, this);
    popmenu.DestroyMenu(); xxxxxxxxxx::OnRButtonDown(nFlags, point);
      

  2.   

    动态创建有两种方法,一种你可以先创建菜单资源,然后加载这个菜单,在弹出
    另一种是完全动态创建
    CMenu menu;
    menu.CreatePopupMenu();
    menu.AppendMenu(MF_STRING|MF_ENABLED, ID_PREVIEM_ITEM, (_T("***")));
    menu.AppendMenu(MF_STRING|MF_ENABLED, ID_EDIT_ITEM, (_T("***")));
    menu.TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, pt.x, pt.y,this);