方法一: 单选的情况下
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); } } }