MFC 인터페이스

리스트 컨트롤 선택된 객체 삭제 하기

Safeguard 2013. 7. 5. 10:40

 

deleteItem(행번호) : 해당행의 아이템 모두 삭제
SetItemText(행번호,열번호,아이템텍스트); // 해당 행 , 열의 아이템 수정

두개의 리스트컨트롤 메소드를 이용하여 삭제를 구현할 수 있음

 

예)

void CB9Dlg::OnBnClickedButtonDelete()
{
 // TODO: 여기에 컨트롤 알림 처리기 코드를 추가합니다.
 if(m_nSelectedIndex != -1){
  m_lstStudent.DeleteItem(m_nSelectedIndex);  // 해당 열번호를 삭제함
  
  for(int i = m_nSelectedIndex-1 ; i < m_lstStudent.GetItemCount() ; i++){  // 삭제된 이후 남은 데이터들의 순번을 변경해줌
   CString strIndex;
   strIndex.Format(_T("%d"),i+1);
   m_lstStudent.SetItemText(i,0,strIndex);
   m_CdeleteBt.EnableWindow(FALSE);
   m_CModifybt.EnableWindow(FALSE);
       m_strDept.Empty();
       m_strID.Empty();
       m_strName.Empty();
  }
 }else{
  AfxMessageBox(_T("삭제할 아이템을 선택하세요 "));
 }

}