티스토리 뷰

MFC

[MFC] Combo Box 사용법

권벡터 2023. 7. 17. 00:40

콤보박스 리스트에 아이템 추가하기

1. 콤보박스  생성 후 control 변수 생성 

2. 'OnInitDialog()' 함수에 아래와 같은 코드를 작성 

// OnInitDialog 함수 내부

// 리스트의 아이템을 추가
m_testList_combo.AddString(_T("메뉴 1"));
m_testList_combo.AddString(_T("메뉴 2"));
m_testList_combo.AddString(_T("메뉴 3"));

// 현재 리스트 아이템 위치를 설정
m_testList_combo.SetCurSel(0);

생성 결과 화면

 

콤보박스 리스트의 아이템이 바뀌면 자동으로 값이 변경되도록 구현

리스트의 메뉴의 값이 바뀌면  edit 화면에 바뀐 아이템이 출력되도록 구현

1. 콤보박스를 선택한 상태에서 '이벤트 처리기' 메뉴를 선택

2. 클래스 목록을 프로젝트Dlg 로 설정하고 메시지 유형은 'CBN_SELCHANGE'

3. 아래와 같이 코드를 입력

// Combo Box의 아이템 값이 변경되었을 때 실행되는 함수

void CMFCApplication1Dlg::OnCbnSelchangeTsetCombo()
{
   CString str;
   // 현재 리스트의 아이템 값을 새로 생성한 str 변수에 저장 
   // 파라메터:(현재 선택된 리스트 아이템의 인덱스, 저장 할 CString 변수)
   m_testList_combo.GetLBText(m_testList_combo.GetCurSel(), str);
   // 저장된 변수를 Edit 창에 출력
   SetDlgItemTextW(IDC_EDIT1, str);
}

 

선택된 리스트 아이템을 제거하기 

void CMFCApplication1Dlg::OnClickedListDelete()
{
   CString str;
   // 현재 리스트의 아이템 정보를 추출
   m_testList_combo.GetLBText(m_testList_combo.GetCurSel(), str);
   // 현재 선택된 인덱스의 아이템 값을 제거
   m_testList_combo.DeleteString(m_testList_combo.GetCurSel());
   // 제거됐다고 메시지로 알림
   AfxMessageBox(str + _T("제거됨"));
}

항목 삭제 버튼을 누른 후 모습
아까 선택된 '메뉴 3' 이 항목에서 제거된 모습

'MFC' 카테고리의 다른 글

[MFC] CString 변환 정리  (0) 2023.07.20
[MFC] 버튼 사용법  (1) 2023.07.16
[MFC] EDIT Control 사용법  (0) 2023.07.15
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함