这样的语句对吗?
CMenu menu;
menu.CreatePopupMenu();//声明一个弹出式菜单
//增加菜单项“关闭”,点击则发送消息WM_DESTROY给主窗口(已
//隐藏),将程序结束。
menu.AppendMenu(MF_POPUP ,WM_DESTROY,"关闭"); 

解决方案 »

  1.   

    CMenu mnShellPop,*mnShellContext;
    ::GetCursorPos(&point);
    mnShellPop.LoadMenu(IDR_MENU1);
    mnShellContext=mnShellPop.GetSubMenu(0);
    SetForegroundWindow();
    mnShellContext->TrackPopupMenu(TPM_LEFTALIGN | TPM_LEFTBUTTON,point.x,point.y,this);
      

  2.   

    CMenu menu;
    menu.LoadMenu(IDR_POPUP);
    CMenu* pM=menu.GetSubMenu(0);
       ClientToScreen(&point);//point是当前窗口客户区坐标系的,  所以需要点转换为屏幕坐标系中来。
           // post the menu
            pM->TrackPopupMenu(TPM_LEFTALIGN|TPM_RIGHTBUTTON,point.x,point.y, AfxGetApp()->m_pMainWnd,NULL);
      

  3.   

    CMenu menu;
    menu.LoadMenu(IDR_MENU);
    CMenu* pSubmenu=menu.GetSubMenu(0);
    SetForegroundWindow();
    pSubmenu->TrackPopupMenu(TPM_RIGHTBUTTON|TPM_LEFTALIGN,pt.x,pt.y,this);
    PostMessage(WM_NULL, 0, 0);
      

  4.   

    最简单的用法:
    CMenu menu;
    menu.LoadMenu(IDR_POPUP);
    CPoint point;
    ::GetCursorPos(&point);
    CMenu * pMenu = menu.GetSubMenu(0);
    if(pMenu != NULL)
         pMenu->TrackPopupMenu(TPM_RIGHTBUTTON|TPM_LEFTALIGN,
    point.x,point.y,this);
      

  5.   

    点击则发送消息WM_DESTROY给主窗口上述功能如何实现?星是从其他板块获得的。
      

  6.   

    CMenu Menu;//建立弹出式菜单CPoint pt; //鼠标指针位置pt.x = LOWORD(pMsg->lParam);pt.y = HIWORD(pMsg->lParam);pBar->ClientToScreen(&pt);//转换成屏幕坐标if (Menu.LoadMenu(IDR_TOOLBAR)){//调入菜单资源CMenu* pSubMenu = Menu.GetSubMenu(0);//取得选项if (pSubMenu!=NULL){//跟踪菜单以取得输入pSubMenu->TrackPopupMenu(TPM_LEFTALIGN|TPM_RIGHTBUTTON,pt.x,pt.y,this);