visual studio 2005 기준으로 테스트 되었습니다.
1. Dialog Editor에서 Combo Box를 드래그 하여 생성한다.
2. 아래 그림과 같이 화살표 버튼을 누르면 리스트 표시 영역 사이즈를 조정할 수 있다.
리스트 개수에 맞게 마우스 드래그를 이용하여 늘려 준다.
3. 콤보 박스 리스트 추가 및 표현(출력) 방법
3.1 콤보 박스에 마우스를 올려 놓고 오른쪽 버튼 클릭 [Add VariAble...] 선택!
3.2 아래와 같은 화면이 나오면 control을 생성한다.
3.3 OnInitDialog() 함수에 초기화 하는 내용을 추가한다.
m_comboServerList.AddString(_T("1 channel")); //텍스트 추가
m_comboServerList.AddString(_T("2 channel"));
m_comboServerList.SetCurSel(0); //텍스트 선택
3.4 현재 선택된 곳이 어디인지 알고 싶다면 아래와 같이 함수 사용
index = m_comboServerList.GetCurSel(); //현재 선택된 텍스트 값을 int형으로 반환
4. 콤보 박스 변경 시 동작 하고 싶을 때...
- Properties 창에 보면 Control Events 를 클릭하고 동작하고 싶은 내용을 추가한다.
- 필요한 동작 코드를 안쪽에 삽입하면 내가 원하는 동작을 취한다.
5. 콤보 박스 Type 설정
- Properties 창에 보면 Type이 있다.
Dropdown은 Edit가 가능한 상태이다.
Drop List는 선택만 가능한 상태이다.
6. 콤보박스 텍스트 가져오기
CString temp;
this->m_comboBox.GetLBText(this->m_comboBox.GetCurSel(), temp);
//GetCurSel()을 호출하면 현재 몇번째 지정하고 있는지에 대한 정보만 넘어온다. 주의가 필요하다.
=======================================================================================
콤보 박스 클래스 함수들 리스트 (펌)
=======================================================================================
▷ CComboBox::AddString - 스트링을 더함.▷ CComboBox::CComboBox - ComboBox 오브젝트를 생성(구성).
▷ CComboBox::Clear -현재 선택을 지움.
▷ CComboBox::CompareItem - 새로운 리스트 항목의 상태적 위치를 결정.
▷ CComboBox::Copy - 현재 선택을 Copy.
▷ CComboBox::Create - CComboBox를 생성.
▷ CComboBox::Cut - 제거된 텍스트를 복사.
▷ CComboBox::DeleteItem- 항목이 Combo 박스에서 제거.
▷ CComboBox::DeleteString - 스트링을 제거.
▷ CComboBox::Dir - 리스트를 더함.
▷ CComboBox::DrawItem - 양상이 변할 때 불려짐.
▷ CComboBox::FindString - 첫 번째 스트링을 찾음.
▷ CComboBox::FindStringExact - 첫 번째 리스트 박스 스트링을 찾음.
▷ CComboBox::GetCount - 항목의 수를 회복.
▷ CComboBox::GetCurSel - 현재 선택된 항목의 색인을 찾음
▷ CComboBox::GetDroppedControlRect - 스크린 좌표를 되찾음.
▷ CComboBox::GetDroppedState - 리스트 박스가 보일지를 결정.
▷ CComboBox::GetEditSel - 시작과 끝나는 문자의 위치를 얻음.
▷ CComboBox::GetExtendedUI - 디폴트, 확장 사용자 인터페이스의 결정.
▷ CComboBox::GetItemData - 항목과 관련된 비트값을 회복.
▷ CComboBox::GetItemDataPtr - 포인터로서 관련된 비트 값을 회복.
▷ CComboBox::GetItemHeight - 리스트 항목의 높이를 회복.
▷ CComboBox::GetLBText - 리스트 박스로 부터 스트링을 얻음.
▷ CComboBox::GetLBTextLen - 스트링의 길이를 지정.
▷ CComboBox::InsertString - 스트링의 삽입.
▷ CComboBox::LimitText - 텍스트의 길이를 제한.
▷ CComboBox::MeasureItem - Combo 박스 치수를 결정하기 위해 불려짐.
▷ CComboBox::Paste - 현재 커서 위치에서 편집 제어로 삽입.
▷ CComboBox::ResetContent - 모든 항목의 제거.
▷ CComboBox::SelectString - 스트링을 선택, 복사.
▷ CComboBox::SetCurSel - 스트링을 선택.
▷ CComboBox::SetEditSel - 편집 제어에서 문자들을 선택.
▷ CComboBox::SetExtendedUI - 디폴트, 확장 사용자 인터페이스의 선택.
▷ CComboBox::SetItemData - 항목과 관련된 값을 정함.
▷ CComboBox::SetItemDataPtr - 포인터에 대한 관련된 값을 정함.
▷ CComboBox::SetItemHeight - 높이를 지정.
▷ CComboBox::ShowDropDown - 리스트 박스를 보여주거나 숨김.
'Languages > cplusplus' 카테고리의 다른 글
[MFC] Dialog Box (대화 상자) (0) | 2012.08.09 |
---|---|
[MFC] List Control 사용법 정리 (1) | 2012.08.09 |
unix_timestamp 값을 C++ 날짜, 시간으로 변환하기 (0) | 2012.05.30 |
비트 연산자는 어디에 사용되는가? (0) | 2012.04.16 |
선언과 정의 찾아가기가 안맞을 때 (0) | 2012.01.05 |