1、行号敏感时
CString strTemp;
vector<int> ivec_RowCnt;
for(int i = 0; i < m_ListCtrl.GetItemCount(); i++) // 记录下选中的各行号,存储在 ivec_RowCnt 中
{
if( m_ListCtrl.GetItemState(i, LVIS_SELECTED) == LVIS_SELECTED )
{
ivec_RowCnt.push_back(i);
}
}
for (int i = ivec_RowCnt.size() - 1; i > -1; i--) // 从行号大的往行号小的 一行一行删除,行号十分重要,不能错乱
{
m_ListCtrl.DeleteItem(ivec_RowCnt.at(i));
str.Format(_T("删除了第%d行"), ivec_RowCnt.at(i));
AfxMessageBox(strTemp);
}
2、行号不敏感时
CString strTemp;
while(m_ListCtrl.GetSelectedCount() > 0)
{
POSITION pos = m_ListCtrl.GetFirstSelectedItemPosition();
if (pos != NULL)
{
int nItem = m_ListCtrl.GetNextSelectedItem(pos);
m_ListCtrl.DeleteItem(nItem);
strTemp.Format(_T("%d "), nItem);
str += strTemp;
}
}
AfxMessageBox(str);