如何获取CListCtrl选中多行的索引值

2024-11-02 09:19:01
有1个网友回答
网友(1):

例子: 
POSITION pos = m_myListCtrl.GetFirstSelectedItemPosition();
if (pos == NULL)
{
TRACE(_T("No items were selected!\n"));
}
else
{
while (pos)
{
int nItem = m_myListCtrl.GetNextSelectedItem(pos);
TRACE(_T("Item %d was selected!\n"), nItem);
// you could do your own processing on nItem here
}
}

注意: 如果你在遍历的时候需要删除选中的项, 因为删除一项后全部选中项的索引位置都会改变. 的以需要把循环里的GetNextSelectedItem修改成GetFirstSelectedItemPosition即, 总是去获取第一个选中, 然后删除掉.

友情提示, 楼主应该多看MSDN. 这些在上面都有. 你只需要搜索CListCtrl 然后查看其成员就可以看到了.