我在CListCtrl 右单击事件中添加了以下内容:
  CMenu *pMenu 
  ..
  pMenu->Trace....  但是我如何知道使用者选择了菜单的第几项呢?
  多谢指点!

解决方案 »

  1.   

    重载消息相应窗口(也就是你track的最后一个参数窗口)oncommand,其中的HIWORD(wParam)为0
    表示是菜单消息,然后判断LOWORD(wParam)是菜单条目的ID,这样你就可知道是哪个条目了。
    或者你在TrackPopupMenu的nFlags加上TPM_RETURNCMD,这样返回值就是menu item的id
      

  2.   

    每一个菜单项都有一个与别的不同的ID,就是根据这个ID来和你的菜单处理函数映射在一起的。
      

  3.   

    弹出参数加上TPM_RETURNCMD, 如CMenu * pSubmenu = menu.GetSubMenu(0);
    int nRet = pSubmenu->TrackPopupMenu(TPM_LEFTALIGN|TPM_RIGHTBUTTON|TPM_RETURNCMD,
    point.x,point.y, this);根据nRet判断是否有点击菜单,如果有点击菜单, nRet返回菜单的ID值