다음을 통해 공유


콤보 상자(Windows 컨트롤)

이 섹션에는 콤보 상자와 함께 사용되는 프로그래밍 요소에 대한 정보가 포함되어 있습니다. 콤보 상자 목록 상자와 편집 컨트롤의 많은 기능을 결합 하는 COMBOBOX 클래스에 의해 정의 된 컨트롤의 고유한 형식입니다.

개요

주제 목차
콤보 상자 정보 이 섹션에서는 다양한 종류의 콤보 상자에 대해 설명합니다.
콤보 상자 기능 이 문서에서는 콤보 상자의 기능에 대해 설명합니다.
콤보 상자 사용 이 섹션의 코드 예제에서는 콤보 상자와 연결된 작업을 수행하는 방법을 보여 줍니다.

함수

주제 목차
DlgDirListComboBox 콤보 상자의 내용을 지정된 디렉터리에 있는 하위 디렉터리 및 파일의 이름으로 바꿉니다. 파일 특성 집합을 지정하여 이름 목록을 필터링할 수 있습니다. 이름 목록에는 매핑된 드라이브 문자가 포함될 수 있습니다.
DlgDirSelectComboBoxEx DlgDirListComboBox 함수를 사용하여 채워진 콤보 상자에서 현재 선택 항목을 검색합니다. 선택 영역은 드라이브 문자, 파일 또는 디렉터리 이름으로 해석됩니다.
GetComboBoxInfo 지정된 콤보 상자에 대한 정보를 검색합니다.

매크로

주제 목차
ComboBox_AddItemData 지정된 위치에 있는 콤보 상자의 목록에 항목 데이터를 추가합니다. 이 매크로를 사용하거나 CB_ADDSTRING 메시지를 명시적으로 보낼 수 있습니다.
ComboBox_AddString 콤보 상자의 목록에 문자열을 추가합니다. 콤보 상자에 CBS_SORT 스타일이 없으면 문자열이 목록의 끝에 추가됩니다. 그렇지 않으면 문자열이 목록에 삽입되고 목록이 정렬됩니다. 이 매크로를 사용하거나 CB_ADDSTRING 메시지를 명시적으로 보낼 수 있습니다.
ComboBox_DeleteString 콤보 상자의 목록에서 지정된 위치에 있는 항목을 삭제합니다. 이 매크로를 사용하거나 CB_DELETESTRING 메시지를 명시적으로 보낼 수 있습니다.
ComboBox_Dir 콤보 상자로 표시되는 목록에 이름을 추가합니다. 매크로는 지정된 문자열 및 파일 특성 집합과 일치하는 디렉터리 및 파일의 이름을 추가합니다. 또한 콤보 상자의 목록에 매핑된 드라이브 문자를 추가할 수도 있습니다. 이 매크로를 사용하거나 CB_DIR 메시지를 명시적으로 보낼 수 있습니다.
ComboBox_Enable 콤보 상자 컨트롤을 사용하거나 사용하지 않도록 설정합니다.
ComboBox_FindItemData 지정된 항목 데이터가 있는 콤보 상자 목록에서 첫 번째 항목을 찾습니다. 이 매크로를 사용하거나 CB_FINDSTRING 메시지를 명시적으로 보낼 수 있습니다.
ComboBox_FindString 지정된 문자열로 시작하는 콤보 상자 목록에서 첫 번째 문자열을 찾습니다. 이 매크로를 사용하거나 CB_FINDSTRING 메시지를 명시적으로 보낼 수 있습니다.
ComboBox_FindStringExact 검색이 대/소문자를 구분하지 않는다는 점을 제외하고 지정된 문자열과 정확히 일치하는 콤보 상자 목록에서 첫 번째 문자열을 찾습니다. 이 매크로를 사용하거나 CB_FINDSTRINGEXACT 메시지를 명시적으로 보낼 수 있습니다.
ComboBox_GetCount 콤보 상자의 목록 상자에 있는 항목 수를 가져옵니다. 이 매크로를 사용하거나 CB_GETCOUNT 메시지를 명시적으로 보낼 수 있습니다.
ComboBox_GetCueBannerText 콤보 상자의 편집 컨트롤에 표시되는 큐 배너 텍스트를 가져옵니다. 이 매크로를 사용하거나 CB_GETCUEBANNER 메시지를 명시적으로 보냅니다.
ComboBox_GetCurSel 콤보 상자에서 현재 선택한 항목의 인덱스입니다. 이 매크로를 사용하거나 CB_GETCURSEL 메시지를 명시적으로 보낼 수 있습니다.
ComboBox_GetDroppedControlRect 드롭다운 상태에서 콤보 상자의 화면 좌표를 검색합니다. 이 매크로를 사용하거나 CB_GETDROPPEDCONTROLRECT 메시지를 명시적으로 보낼 수 있습니다.
ComboBox_GetDroppedState 콤보 상자 컨트롤의 드롭 목록이 표시되는지 여부를 확인합니다. 이 매크로를 사용하거나 CB_GETDROPPEDSTATE 메시지를 명시적으로 보낼 수 있습니다.
ComboBox_GetExtendedUI 콤보 상자가 기본 UI(사용자 인터페이스) 또는 확장된 UI를 사용하는지 여부를 확인합니다. 이 매크로를 사용하거나 CB_GETEXTENDEDUI 메시지를 명시적으로 보낼 수 있습니다.
ComboBox_GetItemData 콤보 상자에서 지정된 목록 항목과 연결된 애플리케이션 정의 값을 가져옵니다. 이 매크로를 사용하거나 CB_GETITEMDATA 메시지를 명시적으로 보낼 수 있습니다.
ComboBox_GetItemHeight 콤보 상자에서 목록 항목의 높이를 검색합니다. 이 매크로를 사용하거나 CB_GETITEMHEIGHT 메시지를 명시적으로 보낼 수 있습니다.
ComboBox_GetLBText 콤보 상자의 목록에서 문자열을 가져옵니다. 이 매크로를 사용하거나 CB_GETLBTEXT 메시지를 명시적으로 보낼 수 있습니다.
ComboBox_GetLBTextLen 콤보 상자의 목록에서 문자열의 길이를 가져옵니다. 이 매크로를 사용하거나 CB_GETLBTEXTLEN 메시지를 명시적으로 보낼 수 있습니다.
ComboBox_GetMinVisible 콤보 상자의 드롭다운 목록에서 표시되는 항목의 최소 수를 가져옵니다.
ComboBox_GetText 콤보 상자 컨트롤에서 텍스트를 검색합니다.
ComboBox_GetTextLength 콤보 상자의 텍스트에 있는 문자 수를 가져옵니다.
ComboBox_InsertItemData 지정된 위치에 있는 콤보 상자의 목록에 항목 데이터를 삽입합니다. 이 매크로를 사용하거나 CB_INSERTSTRING 메시지를 명시적으로 보낼 수 있습니다.
ComboBox_InsertString 지정된 위치에 있는 콤보 상자의 목록에 문자열을 추가합니다. 이 매크로를 사용하거나 CB_INSERTSTRING 메시지를 명시적으로 보낼 수 있습니다.
ComboBox_LimitText 사용자가 콤보 상자의 편집 컨트롤에 입력할 수 있는 텍스트의 길이를 제한합니다. 이 매크로를 사용하거나 CB_LIMITTEXT 메시지를 명시적으로 보낼 수 있습니다.
ComboBox_ResetContent 목록 상자에서 모든 항목을 제거하고 콤보 상자의 컨트롤을 편집합니다. 이 매크로를 사용하거나 CB_RESETCONTENT 메시지를 명시적으로 보낼 수 있습니다.
ComboBox_SelectItemData 콤보 상자의 목록에서 지정된 항목 데이터가 있는 항목을 검색합니다. 일치하는 항목이 있으면 항목이 선택됩니다. 이 매크로를 사용하거나 CB_SELECTSTRING 메시지를 명시적으로 보낼 수 있습니다.
ComboBox_SelectString 콤보 상자의 목록에서 지정된 문자열의 문자로 시작하는 항목을 검색합니다. 일치하는 항목이 있으면 항목이 선택됩니다. 이 매크로를 사용하거나 CB_SELECTSTRING 메시지를 명시적으로 보낼 수 있습니다.
ComboBox_SetCueBannerText 콤보 상자의 편집 컨트롤에 대해 표시되는 큐 배너 텍스트를 설정합니다.
ComboBox_SetCurSel 콤보 상자에서 현재 선택한 항목을 설정합니다. 이 매크로를 사용하거나 CB_SETCURSEL 메시지를 명시적으로 보낼 수 있습니다.
ComboBox_SetExtendedUI CBS_DROPDOWN 또는 CBS_DROPDOWNLIST 스타일이 있는 콤보 상자의 기본 UI(사용자 인터페이스) 또는 확장된 UI를 선택합니다. 이 매크로를 사용하거나 CB_SETEXTENDEDUI 메시지를 명시적으로 보낼 수 있습니다.
ComboBox_SetItemData 콤보 상자에서 지정된 목록 항목과 연결된 애플리케이션 정의 값을 설정합니다. 이 매크로를 사용하거나 CB_SETITEMDATA 메시지를 명시적으로 보낼 수 있습니다.
ComboBox_SetItemHeight 콤보 상자에서 목록 항목 또는 선택 필드의 높이를 설정합니다. 이 매크로를 사용하거나 CB_SETITEMHEIGHT 메시지를 명시적으로 보낼 수 있습니다.
ComboBox_SetMinVisible 콤보 상자의 드롭다운 목록에 표시되는 항목의 최소 수를 설정합니다.
ComboBox_SetText 콤보 상자의 텍스트를 설정합니다.
ComboBox_ShowDropdown 콤보 상자에 목록을 표시하거나 숨깁니다. 이 매크로를 사용하거나 CB_SHOWDROPDOWN 메시지를 명시적으로 보낼 수 있습니다.

메시지

주제 목차
CB_ADDSTRING 콤보 상자의 목록 상자에 문자열을 추가합니다. 콤보 상자에 CBS_SORT 스타일이 없으면 문자열이 목록의 끝에 추가됩니다. 그렇지 않으면 문자열이 목록에 삽입되고 목록이 정렬됩니다.
CB_DELETESTRING 콤보 상자의 목록 상자에서 문자열을 삭제합니다.
CB_DIR 콤보 상자에 표시되는 목록에 이름을 추가합니다. 이 메시지는 지정된 문자열 및 파일 특성 집합과 일치하는 디렉터리 및 파일의 이름을 추가합니다. CB_DIR 매핑된 드라이브 문자를 목록에 추가할 수도 있습니다.
CB_FINDSTRING 콤보 상자의 목록 상자에서 지정된 문자열의 문자로 시작하는 항목을 검색합니다.
CB_FINDSTRINGEXACT 콤보 상자에서 lParam 매개 변수에 지정된 문자열과 일치하는 첫 번째 목록 상자 문자열을 찾습니다.
CB_GETCOMBOBOXINFO 지정된 콤보 상자에 대한 정보를 가져옵니다.
CB_GETCOUNT 콤보 상자의 목록 상자에 있는 항목 수를 가져옵니다.
CB_GETCUEBANNER 콤보 상자의 편집 컨트롤에 표시되는 큐 배너 텍스트를 가져옵니다. 이 메시지를 명시적으로 보내거나 ComboBox_GetCueBannerText 매크로를 사용하여 보냅니다.
CB_GETCURSEL 애플리케이션은 콤보 상자의 목록 상자에서 현재 선택한 항목의 인덱스(있는 경우)를 검색하기 위해 CB_GETCURSEL 메시지를 보냅니다.
CB_GETDROPPEDCONTROLRECT 애플리케이션은 삭제된 상태에서 콤보 상자의 화면 좌표를 검색하는 CB_GETDROPPEDCONTROLRECT 메시지를 보냅니다.
CB_GETDROPPEDSTATE 콤보 상자의 목록 상자를 삭제할지 여부를 결정합니다.
CB_GETDROPPEDWIDTH CBS_DROPDOWN 또는 CBS_DROPDOWNLIST 스타일이 있는 콤보 상자 목록 상자의 허용 가능한 최소 너비(픽셀)를 가져옵니다.
CB_GETEDITSEL 콤보 상자의 편집 컨트롤에서 현재 선택 영역의 시작 및 끝 문자 위치를 가져옵니다.
CB_GETEXTENDEDUI 콤보 상자에 기본 사용자 인터페이스 또는 확장된 사용자 인터페이스가 있는지 여부를 결정합니다.
CB_GETHORIZONTALEXTENT 목록 상자를 가로로 스크롤할 수 있는 너비(스크롤 가능한 너비)를 픽셀 단위로 가져옵니다. 이는 목록 상자에 가로 스크롤 막대가 있는 경우에만 적용됩니다.
CB_GETITEMDATA 애플리케이션은 콤보 상자에 지정된 항목과 연결된 애플리케이션 제공 값을 검색하기 위해 콤보 상자에 CB_GETITEMDATA 메시지를 보냅니다.
CB_GETITEMHEIGHT 콤보 상자에서 목록 항목의 높이 또는 선택 필드를 결정합니다.
CB_GETLBTEXT 콤보 상자 목록에서 문자열을 가져옵니다.
CB_GETLBTEXTLEN 콤보 상자 목록에서 문자열의 길이(문자)를 가져옵니다.
CB_GETLOCALE 콤보 상자의 현재 로캘을 가져옵니다. 로캘은 CB_ADDSTRING 메시지를 사용하여 추가된 CBS_SORT 스타일과 텍스트가 있는 콤보 상자에 표시되는 텍스트의 올바른 정렬 순서를 결정하는 데 사용됩니다.
CB_GETMINVISIBLE 콤보 상자의 드롭다운 목록에서 표시되는 항목의 최소 수를 가져옵니다.
CB_GETTOPINDEX 애플리케이션은 CB_GETTOPINDEX 메시지를 전송하여 콤보 상자의 목록 상자 부분에 표시되는 첫 번째 항목의 인덱스(0부터 시작)를 검색합니다. 처음에는 인덱스가 0인 항목이 목록 상자의 맨 위에 있지만 목록 상자 내용이 스크롤된 경우 다른 항목이 맨 위에 있을 수 있습니다.
CB_INITSTORAGE 애플리케이션은 콤보 상자의 목록 상자 부분에 많은 수의 항목을 추가하기 전에 CB_INITSTORAGE 메시지를 보냅니다. 이 메시지는 목록 상자 항목을 저장하기 위한 메모리를 할당합니다.
CB_INSERTSTRING 문자열 또는 항목 데이터를 콤보 상자 목록에 삽입합니다. CB_ADDSTRING 메시지와 달리 CB_INSERTSTRING 메시지는 CBS_SORT 스타일이 있는 목록을 정렬하지 않습니다.
CB_LIMITTEXT 사용자가 콤보 상자의 편집 컨트롤에 입력할 수 있는 텍스트의 길이를 제한합니다.
CB_RESETCONTENT 목록 상자에서 모든 항목을 제거하고 콤보 상자의 컨트롤을 편집합니다.
CB_SELECTSTRING 콤보 상자 목록에서 지정된 문자열의 문자로 시작하는 항목을 검색합니다. 일치하는 항목을 찾은 경우 해당 항목이 선택되어 편집 컨트롤에 복사됩니다.
CB_SETCUEBANNER 콤보 상자의 편집 컨트롤에 대해 표시되는 큐 배너 텍스트를 설정합니다.
CB_SETCURSEL 애플리케이션은 CB_SETCURSEL 메시지를 보내 콤보 상자 목록에서 문자열을 선택합니다. 필요한 경우 목록에서 문자열을 보기로 스크롤합니다. 콤보 상자의 편집 컨트롤에 있는 텍스트가 새 선택 영역을 반영하도록 변경되고 목록의 이전 선택 항목이 제거됩니다.
CB_SETDROPPEDWIDTH 애플리케이션은 CB_SETDROPPEDWIDTH 메시지를 전송하여 CBS_DROPDOWN 또는 CBS_DROPDOWNLIST 스타일을 사용하여 콤보 상자의 최대 허용 너비(픽셀)를 설정합니다.
CB_SETEDITSEL 애플리케이션은 콤보 상자의 편집 컨트롤에서 문자를 선택하기 위해 CB_SETEDITSEL 메시지를 보냅니다.
CB_SETEXTENDEDUI 애플리케이션은 CBS_DROPDOWN 또는 CBS_DROPDOWNLIST 스타일이 있는 콤보 상자의 기본 UI 또는 확장된 UI를 선택하는 CB_SETEXTENDEDUI 메시지를 보냅니다.
CB_SETHORIZONTALEXTENT 애플리케이션은 CB_SETHORIZONTALEXTENT 메시지를 보내 목록 상자를 가로로 스크롤할 수 있는 너비(스크롤 가능한 너비)를 픽셀 단위로 설정합니다. 목록 상자의 너비가 이 값보다 작으면 가로 스크롤 막대가 목록 상자의 항목을 가로로 스크롤합니다. 목록 상자의 너비가 이 값보다 크거나 같으면 가로 스크롤 막대가 숨겨지거나 콤보 상자에 CBS_DISABLENOSCROLL 스타일이 있으면 사용하지 않도록 설정됩니다.
CB_SETITEMDATA 애플리케이션은 콤보 상자에서 지정된 항목과 연결된 값을 설정하기 위해 CB_SETITEMDATA 메시지를 보냅니다.
CB_SETITEMHEIGHT 애플리케이션은 콤보 상자에서 목록 항목 또는 선택 필드의 높이를 설정하는 CB_SETITEMHEIGHT 메시지를 보냅니다.
CB_SETLOCALE 애플리케이션은 CB_SETLOCALE 메시지를 보내 콤보 상자의 현재 로캘을 설정합니다. 콤보 상자에 CBS_SORT 스타일이 있고 문자열이 CB_ADDSTRING사용하여 추가되는 경우 콤보 상자의 로캘은 목록 항목의 정렬 방식에 영향을 줍니다.
CB_SETMINVISIBLE 애플리케이션은 CB_SETMINVISIBLE 메시지를 보내 콤보 상자의 드롭다운 목록에서 표시되는 항목의 최소 수를 설정합니다.
CB_SETTOPINDEX 애플리케이션은 특정 항목이 콤보 상자의 목록 상자에 표시되는지 확인하기 위해 CB_SETTOPINDEX 메시지를 보냅니다. 지정한 항목이 목록 상자의 맨 위에 표시되거나 최대 스크롤 범위에 도달하게 되도록 시스템에서 목록 상자 내용을 스크롤합니다.
CB_SHOWDROPDOWN 애플리케이션은 CB_SHOWDROPDOWN 메시지를 보내 CBS_DROPDOWN 또는 CBS_DROPDOWNLIST 스타일이 있는 콤보 상자의 목록 상자를 표시하거나 숨깁니다.

알림을

주제 목차
CBN_CLOSEUP 콤보 상자의 목록 상자가 닫혔을 때 CBN_CLOSEUP 알림 코드가 전송됩니다. 콤보 상자의 부모 창은 WM_COMMAND 메시지를 통해 이 알림 코드를 받습니다.
CBN_DBLCLK 사용자가 콤보 상자의 목록 상자에서 문자열을 두 번 클릭하면 CBN_DBLCLK 알림 코드가 전송됩니다. 콤보 상자의 부모 창은 WM_COMMAND 메시지를 통해 이 알림 코드를 받습니다.
CBN_DROPDOWN CBN_DROPDOWN 알림 코드는 콤보 상자의 목록 상자가 표시될 때 전송됩니다. 콤보 상자의 부모 창은 WM_COMMAND 메시지를 통해 이 알림 코드를 받습니다.
CBN_EDITCHANGE 사용자가 콤보 상자의 편집 컨트롤 부분에서 텍스트를 변경했을 수 있는 작업을 수행한 후 CBN_EDITCHANGE 알림 코드가 전송됩니다. CBN_EDITUPDATE 알림 코드와 달리 시스템이 화면을 업데이트한 후 이 알림 코드가 전송됩니다. 콤보 상자의 부모 창은 WM_COMMAND 메시지를 통해 이 알림 코드를 받습니다.
CBN_EDITUPDATE 콤보 상자의 편집 컨트롤 부분이 변경된 텍스트를 표시하려고 할 때 CBN_EDITUPDATE 알림 코드가 전송됩니다. 이 알림 코드는 컨트롤이 텍스트의 서식을 지정한 후 텍스트가 표시되기 전에 전송됩니다. 콤보 상자의 부모 창은 WM_COMMAND 메시지를 통해 이 알림 코드를 받습니다.
CBN_ERRSPACE 콤보 상자가 특정 요청을 충족하기에 충분한 메모리를 할당할 수 없는 경우 CBN_ERRSPACE 알림 코드가 전송됩니다. 콤보 상자의 부모 창은 WM_COMMAND 메시지를 통해 이 알림 코드를 받습니다.
CBN_KILLFOCUS 콤보 상자에서 키보드 포커스가 손실되면 CBN_KILLFOCUS 알림 코드가 전송됩니다. 콤보 상자의 부모 창은 WM_COMMAND 메시지를 통해 이 알림 코드를 받습니다.
CBN_SELCHANGE 사용자가 콤보 상자의 목록 상자에서 현재 선택을 변경할 때 CBN_SELCHANGE 알림 코드가 전송됩니다. 사용자는 목록 상자를 클릭하거나 화살표 키를 사용하여 선택을 변경할 수 있습니다. 콤보 상자의 부모 창은 wParam 매개 변수의 상위 단어에 CBN_SELCHANGE 있는 WM_COMMAND 메시지 형식으로 이 알림을 받습니다.
CBN_SELENDCANCEL CBN_SELENDCANCEL 알림 코드는 사용자가 항목을 선택한 다음 다른 컨트롤을 선택하거나 대화 상자를 닫을 때 전송됩니다. 이는 사용자의 초기 선택이 무시됨을 나타냅니다. 콤보 상자의 부모 창은 WM_COMMAND 메시지를 통해 이 알림 코드를 받습니다.
CBN_SELENDOK 사용자가 목록 항목을 선택하거나 항목을 선택한 다음 목록을 닫을 때 CBN_SELENDOK 알림 코드가 전송됩니다. 사용자의 선택이 처리됨을 나타냅니다. 콤보 상자의 부모 창은 WM_COMMAND 메시지를 통해 이 알림 코드를 받습니다.
CBN_SETFOCUS 콤보 상자가 키보드 포커스를 받으면 CBN_SETFOCUS 알림 코드가 전송됩니다. 콤보 상자의 부모 창은 WM_COMMAND 메시지를 통해 이 알림 코드를 받습니다.
WM_COMPAREITEM 시스템은 WM_COMPAREITEM 메시지를 전송하여 소유자가 그린 콤보 상자 또는 목록 상자의 정렬된 목록에서 새 항목의 상대 위치를 확인합니다. 애플리케이션에서 새 항목을 추가할 때마다 시스템은 CBS_SORT 또는 LBS_SORT 스타일로 만든 콤보 상자 또는 목록 상자의 소유자에게 이 메시지를 보냅니다.
WM_DRAWITEM 단추, 콤보 상자, 목록 상자 또는 메뉴의 시각적 측면이 변경되면 WM_DRAWITEM 메시지가 소유자 그리기 단추, 콤보 상자, 목록 상자 또는 메뉴의 부모 창으로 전송됩니다.
WM_MEASUREITEM WM_MEASUREITEM 메시지는 컨트롤 또는 메뉴를 만들 때 콤보 상자, 목록 상자, 목록 보기 컨트롤 또는 메뉴 항목의 소유자 창으로 전송됩니다.

구조

주제 목차
COMBOBOXINFO 콤보 상자 상태 정보를 포함합니다.
COMPAREITEMSTRUCT 정렬된 소유자가 그린 목록 상자 또는 콤보 상자의 두 항목에 대한 식별자 및 애플리케이션 제공 데이터를 제공합니다.
DRAWITEMSTRUCT 소유자 창에서 소유자가 그린 컨트롤 또는 메뉴 항목을 그리는 방법을 결정하는 데 필요한 정보를 제공합니다. 소유자가 그린 컨트롤 또는 메뉴 항목의 소유자 창은 이 구조체에 대한 포인터를 WM_DRAWITEM 메시지의 lParam 매개 변수로 받습니다.
MEASUREITEMSTRUCT 소유자 그리기 컨트롤 또는 메뉴 항목의 차원을 시스템에 알립니다. 이렇게 하면 시스템에서 컨트롤과의 사용자 상호 작용을 올바르게 처리할 수 있습니다.

상수

주제 목차
콤보 상자 스타일 CreateWindow 또는 CreateWindowEx 함수를 사용하여 콤보 상자를 만들려면 COMBOBOX 클래스, 적절한 창 스타일 상수 및 다음 콤보 상자 스타일의 조합을 지정합니다.