本帖最后由 a13728843352 于 2014-06-04 15:22:22 编辑

解决方案 »

  1.   

    相应对话框的NM_CLICK消息:
     void xxx::OnClickList1(NMHDR* pNMHDR, LRESULT* pResult)
    {
         NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
               if(pNMListView->iItem != -1)
               {
                    CString strtemp;
                    strtemp.Format("单击的是第%d行第%d列",  pNMListView->iItem, pNMListView->iSubItem);
                    AfxMessageBox(strtemp);
            }
        *pResult = 0;
    }
      

  2.   

    响应listControl 的LVN_COLUMNCLICK消息,在消息响应函数中写:
    NM_LISTVIEW* pNMListView=(NM_LISTVIEW*)pNMHDR;//转化参数 m_Row = pNMListView->iItem;//获得选中的行,即Item;
    m_Col = pNMListView->iSubItem;//获得选中列,即SubItem;
    然后用   .GetItemText(m_Row,m_Col);就能返回你选择的位置的内容了
      

  3.   


    我用的vs 2008  。响应这个消息里面进去的默认有句代码是LPNMITEMACTIVATE pNMItemActivate = reinterpret_cast<LPNMITEMACTIVATE>(pNMHDR);
    请问,跟你的有没有区别啊?