BOOL CNewDlgDlg::PreTranslateMessage(MSG* pMsg) 
...
if(pMsg->message == WM_RBUTTONDOWN)//判断右键点击
...
CPoint oPoint; //申明一个oPoint来得到右键点下去的位置
GetCursorPos(&oPoint);
但是oPoint.x时oPoint.跳出来的选项中没有x和y,只有CPoint和operater等.这是怎么回事,不是应该跳出x\y来吗?
导致最后的pSubMenu->TrackPopupMenu(TPM_LEFTALIGN,oPoint.x,oPoint.y,this);//在指定位置显示弹出菜单
报错,我初想应该是光标位置没有得到.请各位指点

解决方案 »

  1.   

    要实现你说的在指定位置弹出菜单不用重载PreTranslateMessage,在WM_RBUTTONDOWN的消息响应函数有一个参数为CPoint类型的变量,它就是你要的鼠标位置
      

  2.   

    请问一下 我本身是个DLG类为主窗体,现在右键后弹出的选项是新绘制的MENU,我不知道如何响应右键菜单上的选项.本以为直接给MENU个选项加新响应函数就可以了,但是新绘制的MENU在开始就要我为它新建个类或则归属于前期的类中.我两者都试了一次,但是都不知道接下去该如何添加响应函数了,好象和普通单一的MENU不同了.请指点
      

  3.   

    你的话我没怎么看懂。     在资源视图中找到你的右键菜单中要响应的项,利用ClassWizard向导生成响应,