本帖最后由 yrisxfyh 于 2009-09-20 09:11:21 编辑

解决方案 »

  1.   


          RECT Rect;
          //下面的改下...改为list
          ((CButton * )GetDlgItem(IDC_BUTTON1))->GetWindowRect(&Rect);
          CMenu menu;
          VERIFY(menu.LoadMenu(CG_IDR_POPUP_DATA_BASE_DLG));      CMenu* pPopup = menu.GetSubMenu(0);
          ASSERT(pPopup != NULL);
          CWnd* pWndPopupOwner = this;      pPopup->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, Rect.right ,Rect.bottom ,pWndPopupOwner);
      

  2.   

    看下下面的代码,我编译的时候有非常多的错误..我菜单资源都不知道怎么添加,
    写的好象是MENUITEM "综合结算",  ID_APP_COUNT
    但是好像不对
        CPoint oPoint;
        CMenu menu ;    GetCursorPos( &oPoint);    menu.LoadMenu(ID_APP_COUNT);  // 装载自定义的右键菜单:综合结算
    menu.LoadMenu(ID_APP_DELETE);  // 装载自定义的右键菜单:删除记录    CMenu* pSubMenu;//定义下面要用到的cmenu对象
        pSubMenu = menu.GetSubMenu(0);//获取第一个弹出菜单,所以第一个菜单必须有子菜单
    //    pSubMenu->EnableMenuItem(IDM_REMOVE_FROM_KILL_LIST, MF_DISABLED | MF_GRAYED);
        pSubMenu->TrackPopupMenu (TPM_LEFTALIGN, oPoint.x, oPoint.y, this); //在指定位置显示弹出菜单*/
      

  3.   

    定义一个菜单资源就可以,你LoadMenu两个干嘛?一个就可以了,最后Detach()