본문 바로가기

old drawer/C, C++, MFC

[MFC] CListCtrl 선택된 항목 Index

// 다중 선택시

void GetIndex()
{
   int nItemCount = m_ctrlList.GetSelectedCount();
   POSITION pos = m_ctrlList.GetFirstSelectedItemPosition();
   for (int i = 0; i < nItemCount; i++)
   {
      int nIndex = m_ctrlList.GetNextSelectedItem(pos);
   }
}

 
// 단일 선택

int GetIndex()
{
    int nSelectedItem = m_ctrlList.GetNextItem( -1, LVNI_SELECTED );
    CString strKey = m_ctrlList.GetItemText(nSelectedItem, 0);
    if ( strKey == "")
    {
        return -1;
    }
    return nSeletedItem;
}

 


// 다중선택한거 골라서 삭제

int nItem;
POSITION pos;

pos = m_ctrlList.GetFirstSelectedItemPosition();
while (pos != NULL)
{
    nItem = m_ctrlList.GetNextSelectedItem(pos);
    m_ctrlList.DeleteItem(nItem);
    pos = m_ctrlList.GetFirstSelectedItemPosition();
}