我在listctrl中用程序UINT flag = LVIS_SELECTED|LVIS_FOCUSED;
m_cListTer.SetItemState(0, flag, flag);
m_cListTer.EnsureVisible(0, FALSE);设定了0行为选定状态但这里在OnItemchangedListter(NMHDR* pNMHDR, LRESULT* pResult) 
里面
int nItem = m_cListTer.HitTest(&lvinfo);

nItem返回-1呢why
谢谢

解决方案 »

  1.   

    DWORD dwPos = GetMessagePos();
    CPoint point( LOWORD(dwPos), HIWORD(dwPos) );

    m_list.ScreenToClient(&point); 

    LVHITTESTINFO lvinfo;
    lvinfo.pt = point;
    lvinfo.flags = LVHT_ABOVE;
        
    int nItem = m_list.SubItemHitTest(&lvinfo);
    if(nItem != -1)
    {
    CString strtemp;
    strtemp.Format("单击的是第%d行第%d列", lvinfo.iItem, lvinfo.iSubItem);
    AfxMessageBox(strtemp);
    }
      

  2.   

    我是先点出listctrl这时就选定了一条记录吧
    我会把这条记录的值放到另一个控件里面的
    这时再点出一个删除按钮想去删除这条记录
    但此时我如何能到我先前选定的那个记录呢