CListCtrl获取当前选中行索引号

方法一:  单选的情况下

GetNextItem(-1,LVIS_SELECTED); 

方法二:单选的情况下

不知道你的CListCtrl是否允许多选,如果只允许单选,你只需要调用成员函数GetSelectionMark()就可以获取选中的行号,然后你再调用GetItemText()就可以获取选中行的文本。

方法三: 可以多选的情况下

CString str;
POSITION pos=list.GetFirstSelectedItemPosition(); //pos选中的首行位置
if(pss==NULL)
        AfxMessageBox(L"no item were selected!");
else
{
          while(pos)   //如果你选择多行
          {
                int nIdx=-1;
                nIdx= list.GetNextSelectedItem(pos);
       
                if(nIdx >=0&&nIdx<liste.GetItemCount())
                {
                        str =list.GetItemText(nIdx,0);
                }
        }
}
原文地址:https://www.cnblogs.com/lidabo/p/2850902.html