一个基于对话框的程序,对话框内有一个列表控件,鼠标右键单击列表控件的某一项,弹出一个菜单,应该如何实现..
   我本打算在列表控件的NM_CLICK消息中动态创建菜单实现,但有问题..不知道怎么回事我分数不多,只能给一点点哈

解决方案 »

  1.   

    //.h
    afx_msg void OnRclicklist(NMHDR* pNMHDR, LRESULT* pResult);//.cpp
    ON_NOTIFY(NM_RCLICK, IDL_LIST, OnRclicklist)
    void CHisDlg::OnRclicklist(NMHDR* pNMHDR, LRESULT* pResult) 
    {
        // TODO: Add your control notification handler code here
        NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
        if (pNMListView->iItem != -1 && pNMListView->iSubItem != -1)
        { 
    CPoint pt;
    GetCursorPos(&pt);
    CMenu menu;
    menu.LoadMenu(IDM_MENU);
    CMenu* pMenu = menu.GetSubMenu(0);
    pMenu->TrackPopupMenu(TPM_LEFTALIGN | TPM_LEFTBUTTON, pt.x, pt.y, this);
        }
    *pResult = 0;
    }
      

  2.   

    顺便问下 
    NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;if (pNMListView->iItem != -1 && pNMListView->iSubItem != -1) 中NM_LISTVIEW,这个类型为什么在我的MSDN中查不到