我的listbox可以多选的,以下代码用来删除用户选择的多个item
int num,nIndex,nSelCount;
int aryIndex[100]; //get the count of selected items
nSelCount = m_lstFileList.GetSelCount(); //get the indexs of the selected items
m_lstFileList.GetSelItems(nSelCount,aryIndex); //delete the selected items
for (num = 0;num < nSelCount;num ++)
{
nIndex = aryIndex[num];
m_lstFileList.DeleteString(nIndex);
}
但是运行起来总是不能正确删掉所选的item,往往少删了一个,单步执行也没有问题
请问大侠这是为什么啊?
int num,nIndex,nSelCount;
int aryIndex[100]; //get the count of selected items
nSelCount = m_lstFileList.GetSelCount(); //get the indexs of the selected items
m_lstFileList.GetSelItems(nSelCount,aryIndex); //delete the selected items
for (num = 0;num < nSelCount;num ++)
{
nIndex = aryIndex[num];
m_lstFileList.DeleteString(nIndex);
}
但是运行起来总是不能正确删掉所选的item,往往少删了一个,单步执行也没有问题
请问大侠这是为什么啊?
for (num = nSelCount-1;num < 0;num--)
{
nIndex = aryIndex[num];
m_lstFileList.DeleteString(nIndex);
}
POSITION pos = m_lstFileList.GetFirstSelectedItemPosition() ;
while( pos != NULL )
{
iItem = m_lstFileList.GetNextSelectedItem( pos ) ;
m_lstFileList.DeleteItem( iItem );
}
试一下这个样子!