您的位置:首页 > 其它

删除列表控件(List Control)中的所有选中行(多选)

2014-10-01 17:06 351 查看
1、首先是获取选中行的序号:

int nItem = -1;

POSITION pos = pList->GetFirstSelectedItemPosition();

if (pos != NULL)

{

while (pos)

{

nItem = pList->GetNextSelectedItem(pos);

// nItem即是选中行的序号

}

}

2、但是,利用上述代码删除选中行会出错,因为每删除一行时,删除行之后的行序号会整体前移一位;也就是说,除非从后向前删除,否则会出错。

3、下面介绍一种实现删除多条选中行的方法:

int nItem = -1;

POSITION pos;

while (pos = m_list.GetFirstSelectedItemPosition())

{

nItem = -1;

nItem = m_list.GetNextSelectedItem(pos);

if (nItem >= 0 && m_list.GetSelectedCount() > 0)

{

m_list.DeleteItem(nItem);

}

}

4、说明:pList是指向列表控件的指针,m_list是绑定列表控件的控制变量。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: