如题

解决方案 »

  1.   

    POSITION pos = m_List.GetFirstSelectedItemPosition();
    int nIndex = m_List.GetNextSelectedItem( pos );
    // 鼠标位置
    CPoint pt;
    CRect rc;
    GetCursorPos( &pt );
    m_List.ScreenToClient( &pt );
    // 查找在当前鼠标在哪一个子项上
    for ( i = 0; i < LIST_MAX_COL; i ++ )
    {
             // 子项的位置
    m_List.GetSubItemRect( nIndex, i, LVIR_LABEL, rc );
    if ( rc.PtInRect( pt ) )
    break;
    }这个i就是你要找的东西。
    也就是得到双击位置,然后查看每一个子项的位置。
      

  2.   

    用不着这么复杂的!
    单选:
    int GetSelectionMark( );
      

  3.   

    POSITION pos = filelist->GetFirstSelectedItemPosition();
    int nItem=filelist->GetNextSelectedItem (pos);
    if(nItem == -1)
    {
        return;
    }         CString listname;
    listname=filelist->GetItemText (nItem,0);我是通过比较item的名字来判断的,但是那个nItem应该是可以利用的!!就是你双击的那一项的index!!!希望对你有帮助~~~~~~~~