티스토리 뷰
MFC 코보 박스 컨트롤
편집 컨트롤과 리스트 박스 컨트롤을 결합한 것으로 새로운 항목을 사용자가 키보드로 입력하거나 목록에서 하나 또는 여러개의 항목을 선택할 수 있게 한다.
<콤보 박스 컨트롤 스타일>
콤보 박스 컨트롤 스타일 |
의미 |
속성 대화상자 항목 |
CBS_AUTOHSCROLL |
= ES_AUTOHSCROLL |
Auto HScroll |
CBS_DISABLENOSCROLL |
= LBS_DISABLENOSCROLL |
Disable no scroll |
CBS_DROPDOWN |
드랍다운 스타일 |
Type : Dropdown |
CBS_DROPDOWNLIST |
드랍다운 리스트 스타일 |
Type : Drop List |
CBS_HASSTRINGS |
= ES_HASSTRINGS |
Has strings |
CBS_LOWERCASE |
= ES_LOWERCASE |
Lowercase |
CBS_NOINTEGRALHEIGHT |
= ES_NOINTEGRALHEIGHT |
No Integral height |
CBS_OEMCONVERT |
= ES_OEMCONVERT |
OEM Convert |
CBS_OWNERDRAWFIXED |
= LBS_OWNERDRAWFIXED |
Owner draw : Fixed |
CBS_OWNERDRAWVARIABLE |
= LBS_OWNERDRAWVARIABLE |
Owner draw : Variable |
CBS_SIMPLE |
단순 스타일 |
Type : Simple |
CBS_SORT |
= LBS_SORT |
Srot |
CBS_UPPERCASE |
= ES_UPPERCASE |
Uppercase |
<콤보 박스 컨트롤 통지 메시지>
콤보 박스 컨트롤의 스타일에 따라 발생하지 않는 메시지도 있으니 주의해야 한다.
|
|
스타일 |
|
|
통지 메시지 |
의미 |
단순 |
드랍다운 |
드랍다운리스트 |
CBN_CLOSEUP |
리스트 박스가 닫혔다 |
|
O |
O |
CBN_DBLCLK |
사용자가 항목을 더블 클릭 |
O |
|
|
CBN_DROPDOWN |
리스트 박스가 열리기 직전이다. |
|
O |
O |
CBN_EDITCHANGE |
= EN_EDITCHANGE |
O |
O |
|
CBN_EDITUPDATE |
= EN_EDITUPDATE |
O |
O |
|
CBN_ERRSPACE |
메모리가 부족하다. |
O |
O |
O |
CBN_KILLFOCUS |
키보드 포커스를 잃었다. |
O |
O |
O |
CBN_SELCHANGE |
= LBN_SELCHANGE |
O |
O |
O |
CBN_SELENDCANCEL |
= LBN_SELENDCANCEL |
|
O |
O |
CBN_SELENDOK |
사용자가 항목을 선택했다. |
O |
O |
O |
CBN_SETFOCUS |
키보드 포커스를 얻었다. |
O |
O |
O |
1
2
3
4
5
6
7
8 |
m_combo.AddString(L"사과"); // 문자열 항목을 끝부분에 추가
m_combo.DeleteString(3); // 4번째 항목을 삭제
m_combo.GetLBText(m_combo.GetCurSel(), str); // 선택한 항목 얻기
m_combo.LimitText(10); // 한글은 최대 5자까지 입력 가능
m_combo.Clear(); // 현재 선택된 문자열 삭제
m_combo.Cut(); // 클립보드에 저장
m_combo.Copy(); // 클립보드에 저장
m_combo.Paste(); // 클립보드에 저장된 내용을 붙여넣기 |
cs |