Mafa Dev

채팅창처럼 한줄 추가 ( 433p ) 본문

개발/MFC 프로그래밍

채팅창처럼 한줄 추가 ( 433p )

마파_ 2012. 12. 27. 15:43

 

 

 

목록 상자(List Box)에 CListBox 클래스 InsertString()과 AddString() 함수를 이용하여 문자열인 항목(Item)을 추가/삭제하는 기능을 구현하는 코드를 작성하겠습니다. 단 , 추가와 삭제를 구분하여 단계별로 실습한 것이므로 참고하기 바랍니다.

 

리소스 ID

IDC_LIST1 (List box)

IDC_Edit_Input (Edit) 

IDC_Button_InsertString(Button)           Caption  =  Insert String

IDC_Button_AddString(Button)             Caption  =  Add String

 

List Box의 멤버변수(m_List)를 등록합니다.

m_List 멤버 변수는 Control로 합니다 Value가 아님

 

두번째 Edit box의 멤버 변수를 등록합니다 (m_strInput)

m_strInput 멤버 변수는 Value값으로 합니다.

 

밑에 버튼 두개는 더블 클릭해서 이벤트를 추가시켜 줍니다

 

소스는 이렇습니다.

 

void CMFC_Start2Dlg::OnBnClickedButtonInsertstring()
{
     // TODO: 여기에 컨트롤 알림 처리기 코드를 추가합니다.
     UpdateData();
     m_List.InsertString(0,m_strInput);
}

void CMFC_Start2Dlg::OnBnClickedButtonAddstring()
{
     // TODO: 여기에 컨트롤 알림 처리기 코드를 추가합니다.
     UpdateData();
     m_List.AddString(m_strInput);
}

 

하지만 이렇게 적게되면 내림차순과 오름차순 순으로 출력되기때문에 차례차례 입력할 시에도 순서가 뒤죽박죽 되므로 입력한대로 출력하고 싶으면 LIST박스의 속성창에서 Sort -> False로 변경시켜 주시면됩니다.