可改为
int CBuildSetDlg::GetSelectItem(CListCtrl *m_List)
{
        for(int n=0; n<m_List->GetItemCount(); n++)
       {
               UINT state = m_List->GetItemState( n, LVIS_SELECTED);
               if(state == LVIS_SELECTED )
                  return n;
       }
       return -1;
}

解决方案 »

  1.   

      int i;
    for(i=m_CaptureList.GetItemCount()-1;i>=0;i--)
    {
       if(m_CaptureList.GetItemState(i,LVIS_SELECTED)==LVIS_SELECTED)
              m_CaptureList.DeleteItem(i); 
    }我是将所有选中的删除
      

  2.   

    alphagx(alpha):
    谢谢,
    GetItemState(i,LVIS_SELECTED)==LVIS_SELECTED
    对我已经足够了!
      

  3.   

    哦,上面还有一位whiskers(胡子)兄。
      

  4.   

    POSITION pos = pList->GetFirstSelectedItemPosition();
    if (pos == NULL)
       TRACE0("No items were selected!\n");
    else
    {
       while (pos)
       {
          int nItem = pList->GetNextSelectedItem(pos);
          TRACE1("Item %d was selected!\n", nItem);
          // you could do your own processing on nItem here
       }
    }
    msdn源码