CListCtrl& ListCtrl = pView->GetListCtrl();  CString b;
         b=ListCtrl.GetItemText(nItem,Index);//nIndex为SubItem号,
返回值b即为你要的值.

解决方案 »

  1.   

    ListView_GetColumnWidth(HWND hwnd, int iCol);
    得到每列的宽度,然后用鼠标位置判断落在哪个列里。
      

  2.   

    重载OnClickList函数,添加以下代码:
    NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
    // TODO: Add your control notification handler code here
    CString szOut;
    szOut.Format(_T("%d-%d"),pNMListView->iItem,pNMListView->iSubItem);
    AfxMessageBox(szOut);
    *pResult = 0;
      

  3.   

    根据列宽和鼠标的位置,得出结果。
    msdn中有一些关于得到选中信息的位置的函数。
      

  4.   

    重载CListCtrl控件对应的消息LVN_ITEMCHANGED
    void CHistoryList::OnItemchangedHistoryList(NMHDR* pNMHDR, LRESULT* pResult) 
    {
    NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
    // TODO: Add your control notification handler code here
    int nSelected=pNMListView->iItem;
    int nSubItem=pNMListView->iSubItem;
    if (nSelected>=0)
    {
    TRACE("选择了第%d条记录\n",nSelected);
    }

    *pResult = 0;
    }