CComboBox 클래스

Windows 콤보 상자의 기능을 제공합니다.

구문

class CComboBox : public CWnd

멤버

공용 생성자

속성 설명
CComboBox::CComboBox CComboBox 개체를 생성합니다.

공용 메서드

이름 설명
CComboBox::AddString 콤보 상자의 목록 상자 또는 스타일이 있는 목록 상자의 정렬된 위치에 있는 목록 끝에 문자열을 CBS_SORT 추가합니다.
CComboBox::Clear 편집 컨트롤에서 현재 선택 영역(있는 경우)을 삭제(지웁니다).
CComboBox::CompareItem 정렬된 소유자 그리기 콤보 상자에서 새 목록 항목의 상대 위치를 결정하기 위해 프레임워크에서 호출됩니다.
CComboBox::Copy 현재 선택 영역(있는 경우)을 클립보드 형식 CF_TEXT 으로 복사합니다.
CComboBox::Create 콤보 상자를 만들어 개체에 CComboBox 연결합니다.
CComboBox::Cut 편집 컨트롤에서 현재 선택 영역을 삭제(잘라내기)하고 삭제된 텍스트를 클립보드에 CF_TEXT 형식으로 복사합니다.
CComboBox::DeleteItem 소유자가 그린 콤보 상자에서 목록 항목이 삭제될 때 프레임워크에서 호출됩니다.
CComboBox::DeleteString 콤보 상자의 목록 상자에서 문자열을 삭제합니다.
CComboBox::Dir 콤보 상자의 목록 상자에 파일 이름 목록을 추가합니다.
CComboBox::DrawItem 소유자가 그린 콤보 상자의 시각적 측면이 변경되면 프레임워크에서 호출됩니다.
CComboBox::FindString 콤보 상자의 목록 상자에서 지정된 접두사를 포함하는 첫 번째 문자열을 찾습니다.
CComboBox::FindStringExact 지정된 문자열과 일치하는 첫 번째 목록 상자 문자열(콤보 상자)을 찾습니다.
CComboBox::GetComboBoxInfo 개체에 대한 정보를 검색 CComboBox 합니다.
CComboBox::GetCount 콤보 상자의 목록 상자에 있는 항목 수를 검색합니다.
CComboBox::GetCueBanner 콤보 상자 컨트롤에 대해 표시되는 큐 텍스트를 가져옵니다.
CComboBox::GetCurSel 콤보 상자의 목록 상자에서 현재 선택한 항목의 인덱스(있는 경우)를 검색합니다.
CComboBox::GetDroppedControlRect 드롭다운 콤보 상자의 표시(드롭다운) 목록 상자의 화면 좌표를 검색합니다.
CComboBox::GetDroppedState 드롭다운 콤보 상자의 목록 상자가 표시되는지(드롭다운) 여부를 결정합니다.
CComboBox::GetDroppedWidth 콤보 상자의 드롭다운 목록 상자 부분에 허용되는 최소 너비를 검색합니다.
CComboBox::GetEditSel 콤보 상자의 편집 컨트롤에서 현재 선택 항목의 시작 및 끝 문자 위치를 가져옵니다.
CComboBox::GetExtendedUI 콤보 상자에 기본 사용자 인터페이스 또는 확장된 사용자 인터페이스가 있는지 여부를 결정합니다.
CComboBox::GetHorizontalExtent 콤보 상자의 목록 상자 부분을 가로로 스크롤할 수 있는 너비를 픽셀 단위로 반환합니다.
CComboBox::GetItemData 지정된 콤보 상자 항목과 연결된 애플리케이션 제공 32비트 값을 검색합니다.
CComboBox::GetItemDataPtr 지정된 콤보 상자 항목과 연결된 애플리케이션 제공 32비트 포인터를 검색합니다.
CComboBox::GetItemHeight 콤보 상자에서 목록 항목의 높이를 검색합니다.
CComboBox::GetLBText 콤보 상자의 목록 상자에서 문자열을 가져옵니다.
CComboBox::GetLBTextLen 콤보 상자의 목록 상자에 있는 문자열의 길이를 가져옵니다.
CComboBox::GetLocale 콤보 상자의 로캘 식별자를 검색합니다.
CComboBox::GetMinVisible 현재 콤보 상자의 드롭다운 목록에서 표시되는 항목의 최소 수를 가져옵니다.
CComboBox::GetTopIndex 콤보 상자의 목록 상자 부분에 표시되는 첫 번째 항목의 인덱스입니다.
CComboBox::InitStorage 콤보 상자의 목록 상자 부분에 있는 항목 및 문자열에 대한 메모리 블록을 미리 할당합니다.
CComboBox::InsertString 콤보 상자의 목록 상자에 문자열을 삽입합니다.
CComboBox::LimitText 사용자가 콤보 상자의 편집 컨트롤에 입력할 수 있는 텍스트의 길이를 제한합니다.
CComboBox::MeasureItem 소유자가 그린 콤보 상자를 만들 때 콤보 상자 차원을 결정하기 위해 프레임워크에서 호출됩니다.
CComboBox::Paste 클립보드의 데이터를 현재 커서 위치의 편집 컨트롤에 삽입합니다. 클립보드에 형식의 데이터가 포함된 경우에만 데이터가 CF_TEXT 삽입됩니다.
CComboBox::ResetContent 콤보 상자의 목록 상자 및 편집 컨트롤에서 모든 항목을 제거합니다.
CComboBox::SelectString 콤보 상자의 목록 상자에서 문자열을 검색하고 문자열이 발견되면 목록 상자에서 문자열을 선택하고 편집 컨트롤에 문자열을 복사합니다.
CComboBox::SetCueBanner 콤보 상자 컨트롤에 대해 표시되는 큐 텍스트를 설정합니다.
CComboBox::SetCurSel 콤보 상자의 목록 상자에서 문자열을 선택합니다.
CComboBox::SetDroppedWidth 콤보 상자의 드롭다운 목록 상자 부분에 허용되는 최소 너비를 설정합니다.
CComboBox::SetEditSel 콤보 상자의 편집 컨트롤에서 문자를 선택합니다.
CComboBox::SetExtendedUI 기본 사용자 인터페이스 또는 스타일이 있는 콤보 상자의 확장된 사용자 인터페이스를 CBS_DROPDOWNCBS_DROPDOWNLIST 선택합니다.
CComboBox::SetHorizontalExtent 콤보 상자의 목록 상자 부분을 가로로 스크롤할 수 있는 너비를 픽셀 단위로 설정합니다.
CComboBox::SetItemData 콤보 상자에서 지정된 항목과 연결된 32비트 값을 설정합니다.
CComboBox::SetItemDataPtr 콤보 상자에서 지정된 항목과 연결된 32비트 포인터를 설정합니다.
CComboBox::SetItemHeight 콤보 상자의 목록 항목 높이 또는 콤보 상자의 편집 컨트롤(또는 정적 텍스트) 부분의 높이를 설정합니다.
CComboBox::SetLocale 콤보 상자의 로캘 식별자를 설정합니다.
CComboBox::SetMinVisibleItems 현재 콤보 상자의 드롭다운 목록에 표시되는 항목의 최소 수를 설정합니다.
CComboBox::SetTopIndex 콤보 상자의 목록 상자 부분에 지정된 인덱스가 있는 항목을 맨 위에 표시하도록 지시합니다.
CComboBox::ShowDropDown 스타일이 있는 콤보 상자의 목록 상자를 CBS_DROPDOWN 표시하거나 CBS_DROPDOWNLIST 숨깁니다.

설명

콤보 상자는 정적 컨트롤 또는 편집 컨트롤과 결합된 목록 상자로 구성됩니다. 컨트롤의 목록 상자 부분은 항상 표시되거나 사용자가 컨트롤 옆에 있는 드롭다운 화살표를 선택할 때만 드롭다운할 수 있습니다.

목록 상자에서 현재 선택한 항목(있는 경우)이 정적 또는 편집 컨트롤에 표시됩니다. 또한 콤보 상자에 드롭다운 목록 스타일이 있는 경우 사용자는 목록에 있는 항목 중 하나의 초기 문자를 입력할 수 있으며 목록 상자가 표시되면 해당 초기 문자로 다음 항목을 강조 표시합니다.

다음 표에서는 세 가지 콤보 상자 스타일을 비교합니다.

스타일 목록 상자가 표시되는 경우 정적 또는 편집 컨트롤
단순 항상 표시 편집
드롭다운 드롭다운 시 편집
Drop-down list 드롭다운 시 정적

대화 상자 템플릿에서 또는 코드에서 직접 개체를 만들 CComboBox 수 있습니다. 두 경우 모두 먼저 생성자를 CComboBox 호출하여 개체를 CComboBox 생성한 다음, 멤버 함수를 호출 Create 하여 컨트롤을 만들고 개체에 CComboBox 연결합니다.

콤보 상자에서 부모로 보낸 Windows 알림 메시지(일반적으로 파생 클래스 CDialog)를 처리하려면 각 메시지에 대한 부모 클래스에 메시지 맵 항목 및 메시지 처리기 멤버 함수를 추가합니다.

각 메시지 맵 항목은 다음 형식을 사용합니다.

ON_Notification( id, memberFxn )

여기서 id 는 알림을 보내는 콤보 상자 컨트롤의 자식 창 ID를 지정하고 memberFxn 알림을 처리하기 위해 작성한 부모 멤버 함수의 이름입니다.

부모의 함수 프로토타입은 다음과 같습니다.

afx_msg void memberFxn( );

특정 알림이 전송되는 순서는 예측할 수 없습니다. 특히 알림 전후에 CBN_SELCHANGE 알림이 CBN_CLOSEUP 발생할 수 있습니다.

잠재적인 메시지 맵 항목은 다음과 같습니다.

  • ON_CBN_CLOSEUP (Windows 3.1 이상) 콤보 상자의 목록 상자가 닫혔습니다. 스타일이 있는 콤보 상자에 CBS_SIMPLE 대해서는 이 알림 메시지가 전송되지 않습니다.

  • ON_CBN_DBLCLK 사용자는 콤보 상자의 목록 상자에서 문자열을 두 번 클릭합니다. 이 알림 메시지는 스타일이 있는 콤보 상자에 대해서만 전송됩니다 CBS_SIMPLE . 또는 CBS_DROPDOWNLIST 스타일이 있는 콤보 상자의 CBS_DROPDOWN 경우 한 번의 클릭으로 목록 상자가 숨겨지므로 두 번 클릭할 수 없습니다.

  • ON_CBN_DROPDOWN 콤보 상자의 목록 상자가 드롭다운됩니다(표시될 예정). 이 알림 메시지는 또는 CBS_DROPDOWNLIST 스타일이 있는 콤보 상자에 CBS_DROPDOWN 대해서만 발생할 수 있습니다.

  • ON_CBN_EDITCHANGE 사용자가 콤보 상자의 편집 제어 부분에서 텍스트를 변경했을 수 있는 작업을 수행했습니다. 메시지와 CBN_EDITUPDATE 달리 이 메시지는 Windows에서 화면을 업데이트한 후에 전송됩니다. 콤보 상자에 CBS_DROPDOWNLIST 스타일이 있으면 전송되지 않습니다.

  • ON_CBN_EDITUPDATE 콤보 상자의 편집 제어 부분이 변경된 텍스트를 표시하려고 합니다. 이 알림 메시지는 컨트롤이 텍스트의 서식을 지정한 후 텍스트가 표시되기 전에 전송됩니다. 콤보 상자에 CBS_DROPDOWNLIST 스타일이 있으면 전송되지 않습니다.

  • ON_CBN_ERRSPACE 콤보 상자는 특정 요청을 충족하기에 충분한 메모리를 할당할 수 없습니다.

  • ON_CBN_SELENDCANCEL (Windows 3.1 이상) 사용자의 선택을 취소해야 했음을 나타냅니다. 사용자가 항목을 클릭한 다음 다른 창이나 컨트롤을 클릭하여 콤보 상자의 목록 상자를 숨깁니다. 이 알림 메시지는 사용자의 선택을 무시해야 함을 나타내기 위해 알림 메시지 앞에 CBN_CLOSEUP 전송됩니다. CBN_SELENDCANCEL 또는 CBN_SELENDOK 알림 메시지는 알림 메시지가 전송되지 않은 경우에도 CBN_CLOSEUP 전송됩니다(스타일이 있는 콤보 상자의 경우와 CBS_SIMPLE 같이).

  • ON_CBN_SELENDOK 사용자가 항목을 선택한 다음 Enter 키를 누르거나 아래쪽 화살표 키를 클릭하여 콤보 상자의 목록 상자를 숨깁니다. 이 알림 메시지는 사용자의 선택이 유효한 것으로 간주되어야 함을 나타내기 위해 메시지 앞에 CBN_CLOSEUP 전송됩니다. CBN_SELENDCANCEL 또는 CBN_SELENDOK 알림 메시지는 알림 메시지가 전송되지 않은 경우에도 CBN_CLOSEUP 전송됩니다(스타일이 있는 콤보 상자의 경우와 CBS_SIMPLE 같이).

  • ON_CBN_KILLFOCUS 콤보 상자가 입력 포커스를 잃고 있습니다.

  • ON_CBN_SELCHANGE 사용자가 목록 상자를 클릭하거나 화살표 키를 사용하여 선택 항목을 변경하면 콤보 상자의 목록 상자에서 선택 영역이 변경됩니다. 이 메시지를 처리할 때 콤보 상자의 편집 컨트롤에 있는 텍스트는 다른 유사한 함수를 통해 GetLBText 서만 검색할 수 있습니다. GetWindowText 사용할 수 없습니다.

  • ON_CBN_SETFOCUS 콤보 상자는 입력 포커스를 받습니다.

대화 상자 내에서(대화 상자 리소스 CComboBox 를 통해) 개체를 만들 CComboBox 면 사용자가 대화 상자를 닫으면 개체가 자동으로 제거됩니다.

다른 창 개체 내에 개체를 CComboBox 포함하는 경우 개체를 삭제할 필요가 없습니다. 스택에서 개체를 CComboBox 만들면 자동으로 제거됩니다. 함수를 CComboBox 사용하여 힙에 개체를 new 만드는 경우 Windows 콤보 상자가 제거될 때 개체를 호출 delete 하여 삭제해야 합니다.

WM_KEYDOWN 참고 콤보 상자의 편집 및 WM_CHAR 목록 상자 컨트롤을 서브클래스하고, 클래스 CEdit 를 파생하고CListBox, 해당 메시지에 대한 처리기를 파생 클래스에 추가해야 합니다. 자세한 내용은 CWnd::SubclassWindow를 참조하세요.

상속 계층 구조

CObject

CCmdTarget

CWnd

CComboBox

요구 사항

헤더afxwin.h:

CComboBox::AddString

콤보 상자의 목록 상자에 문자열을 추가합니다.

int AddString(LPCTSTR lpszString);

매개 변수

lpszString
추가할 null로 끝나는 문자열을 가리킵니다.

Return Value

반환 값이 0보다 크거나 같으면 목록 상자의 문자열에 대한 인덱스(0부터 시작)입니다. 반환 값은 CB_ERR 오류가 발생하는 경우입니다. 반환 값은 새 문자열을 저장할 공간이 부족한 경우입니다 CB_ERRSPACE .

설명

스타일이 포함된 목록 상자를 만들지 CBS_SORT 않은 경우 문자열이 목록의 끝에 추가됩니다. 그렇지 않으면 문자열이 목록에 삽입되고 목록이 정렬됩니다.

참고 항목

이 함수는 Windows ComboBoxEx 컨트롤에서 지원되지 않습니다. 이 컨트롤에 대한 자세한 내용은 Windows SDK의 컨트롤을 참조 ComboBoxEx 하세요.

목록 내의 특정 위치에 문자열을 삽입하려면 멤버 함수를 InsertString 사용합니다.

예시

// Add 20 items to the combo box.
CString str;
for (int i = 0; i < 20; i++)
{
   str.Format(_T("item string %d"), i);
   m_pComboBox->AddString(str);
}

CComboBox::CComboBox

CComboBox 개체를 생성합니다.

CComboBox();

예시

// Declare a local CComboBox object.
CComboBox myComboBox;

// Declare a dynamic CComboBox object.
CComboBox *pmyComboBox = new CComboBox;

CComboBox::Clear

콤보 상자의 편집 컨트롤에서 현재 선택 영역(있는 경우)을 삭제(지웁니다).

void Clear();

설명

현재 선택 영역을 삭제하고 삭제된 내용을 클립보드에 배치하려면 멤버 함수를 Cut 사용합니다.

예시

// Delete all of the text from the combo box's edit control.
m_MyComboBox.SetEditSel(0, -1);
m_MyComboBox.Clear();

CComboBox::CompareItem

정렬된 소유자 그리기 콤보 상자의 목록 상자 부분에서 새 항목의 상대 위치를 결정하기 위해 프레임워크에서 호출됩니다.

virtual int CompareItem(LPCOMPAREITEMSTRUCT lpCompareItemStruct);

매개 변수

lpCompareItemStruct
구조체에 대한 긴 포인터입니다 COMPAREITEMSTRUCT .

Return Value

구조에 설명된 COMPAREITEMSTRUCT 두 항목의 상대 위치를 나타냅니다. 다음 값 중 하나일 수 있습니다.

의미
- 1 항목 1은 항목 2 앞에 정렬합니다.
0 항목 1과 항목 2는 동일하게 정렬합니다.
1 항목 1은 항목 2를 기준으로 정렬합니다.

에 대한 설명은 참조하세요 CWnd::OnCompareItemCOMPAREITEMSTRUCT.

설명

기본적으로 이 멤버 함수는 아무 작업도 수행하지 않습니다. 스타일을 사용하여 소유자 그리기 콤보 상자를 만드는 경우 목록 상자에 LBS_SORT 추가된 새 항목을 정렬하는 프레임워크를 지원하기 위해 이 멤버 함수를 재정의해야 합니다.

예시

// CMyComboBox is my owner-drawn combo box derived from CComboBox. This
// example compares two items using strcmp to sort items in reverse
// alphabetical order. The combo box control was created with the
// following code:
//   pmyComboBox->Create(
//      WS_CHILD|WS_VISIBLE|WS_BORDER|WS_HSCROLL|WS_VSCROLL|
//      CBS_SORT|CBS_OWNERDRAWVARIABLE,
//      myRect, pParentWnd, 1);
//
int CMyComboBox::CompareItem(LPCOMPAREITEMSTRUCT lpCompareItemStruct)
{
   int iComp = 0;
   ASSERT(lpCompareItemStruct->CtlType == ODT_COMBOBOX);
   LPCTSTR lpszText1 = (LPCTSTR)lpCompareItemStruct->itemData1;
   ASSERT(lpszText1 != NULL);
   LPCTSTR lpszText2 = (LPCTSTR)lpCompareItemStruct->itemData2;
   ASSERT(lpszText2 != NULL);

   if (NULL != lpszText1 && NULL != lpszText2)
   {
      iComp = _tcscmp(lpszText2, lpszText1);
   }

   return iComp;
}

CComboBox::Copy

현재 선택 영역(있는 경우)을 콤보 상자의 편집 컨트롤에 클립보드 형식 CF_TEXT 으로 복사합니다.

void Copy();

예시

// Copy all of the text from the combo box's edit control
// to the clipboard.
m_MyComboBox.SetEditSel(0, -1);
m_MyComboBox.Copy();

CComboBox::Create

콤보 상자를 만들어 개체에 CComboBox 연결합니다.

virtual BOOL Create(
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    UINT nID);

매개 변수

dwStyle
콤보 상자의 스타일을 지정합니다. 상자에 콤보 상자 스타일의 조합을 적용합니다.

rect
콤보 상자의 위치와 크기를 가리킵니다. 구조체 또는 개체일 CRectRECT 수 있습니다.

pParentWnd
콤보 상자의 부모 창(일반적으로 )을 CDialog지정합니다. 해서는 안 됩니다 NULL.

nID
콤보 상자의 컨트롤 ID를 지정합니다.

Return Value

성공하면 0이 아니고, 그렇지 않으면 0입니다.

설명

두 단계로 개체를 CComboBox 생성합니다. 먼저 생성자를 호출한 다음 호출 Create합니다. 그러면 Windows 콤보 상자가 만들어지고 개체에 CComboBox 연결됩니다.

실행되면 Create Windows는 WM_NCCREATE콤보 상자에 , WM_CREATEWM_NCCALCSIZEWM_GETMINMAXINFO 메시지를 보냅니다.

이러한 메시지는 기본적으로 기본 클래스의 OnNcCreate, OnCreate, OnNcCalcSizeOnGetMinMaxInfo 멤버 함수에 CWnd 의해 처리됩니다. 기본 메시지 처리를 확장하려면 클래스를 CComboBox파생시키고, 새 클래스에 메시지 맵을 추가하고, 이전 메시지 처리기 멤버 함수를 재정의합니다. 예를 들어 새 클래스에 필요한 초기화를 수행하려면 재정 OnCreate의합니다.

콤보 상자 컨트롤에 다음 창 스타일을 적용합니다. :

  • WS_CHILD 항상

  • WS_VISIBLE 일반적 으로

  • WS_DISABLED 거의

  • WS_VSCROLL 콤보 상자에서 목록 상자의 세로 스크롤을 추가하려면

  • WS_HSCROLL 콤보 상자에서 목록 상자의 가로 스크롤을 추가하려면

  • WS_GROUP 컨트롤을 그룹화하려면

  • WS_TABSTOP 탭 순서에 콤보 상자를 포함하려면

예시

m_pComboBox->Create(
    WS_CHILD | WS_VISIBLE | WS_VSCROLL | CBS_DROPDOWNLIST,
    CRect(10, 10, 200, 100), pParentWnd, 1);

CComboBox::Cut

콤보 상자 편집 컨트롤에서 현재 선택 영역을 삭제(잘라내기)하고 삭제된 텍스트를 클립보드에 CF_TEXT 형식으로 복사합니다.

void Cut();

설명

삭제된 텍스트를 클립보드에 배치하지 않고 현재 선택 영역을 삭제하려면 멤버 함수를 호출합니다 Clear .

예시

// Delete all of the text from the combo box's edit control and copy it
// to the clipboard.
m_MyComboBox.SetEditSel(0, -1);
m_MyComboBox.Cut();

CComboBox::DeleteItem

사용자가 소유자 그리기 CComboBox 개체에서 항목을 삭제하거나 콤보 상자를 삭제할 때 프레임워크에서 호출됩니다.

virtual void DeleteItem(LPDELETEITEMSTRUCT lpDeleteItemStruct);

매개 변수

lpDeleteItemStruct
삭제된 항목에 대한 정보를 포함하는 Windows DELETEITEMSTRUCT 구조체에 대한 긴 포인터입니다. 이 구조에 대한 설명은 참조 CWnd::OnDeleteItem 하세요.

설명

이 함수의 기본 구현은 아무 작업도 수행하지 않습니다. 필요에 따라 콤보 상자를 다시 그리도록 이 함수를 재정의합니다.

예시

// CMyComboBox is my owner-drawn combo box derived from CComboBox. This
// example simply dumps the item's text. The combo box control was
// created with the following code:
//   pmyComboBox->Create(
//      WS_CHILD|WS_VISIBLE|WS_BORDER|WS_HSCROLL|WS_VSCROLL|
//      CBS_SORT|CBS_OWNERDRAWVARIABLE,
//      myRect, pParentWnd, 1);
//
void CMyComboBox::DeleteItem(LPDELETEITEMSTRUCT lpDeleteItemStruct)
{
   ASSERT(lpDeleteItemStruct->CtlType == ODT_COMBOBOX);
   LPTSTR lpszText = (LPTSTR)lpDeleteItemStruct->itemData;
   ASSERT(lpszText != NULL);

   AFXDUMP(lpszText);
}

CComboBox::DeleteString

콤보 상자에서 위치에 nIndex 있는 항목을 삭제합니다.

int DeleteString(UINT nIndex);

매개 변수

nIndex
삭제할 문자열의 인덱스를 지정합니다.

Return Value

반환 값이 0보다 크거나 같으면 목록에서 다시 기본 문자열의 수입니다. 반환 값은 CB_ERR 목록의 항목 수보다 큰 인덱스를 지정하는 경우 nIndex 입니다.

설명

이제 다음 nIndex 모든 항목이 한 위치 아래로 이동합니다. 예를 들어 콤보 상자에 두 개의 항목이 포함된 경우 첫 번째 항목을 삭제하면 다시 기본 항목이 이제 첫 번째 위치에 있게 됩니다. nIndex첫 번째 위치에 있는 항목의 경우 =0입니다.

예시

// Delete every item from the combo box.
for (int i = m_pComboBox->GetCount() - 1; i >= 0; i--)
{
   m_pComboBox->DeleteString(i);
}

CComboBox::Dir

파일 이름 또는 드라이브 목록을 콤보 상자의 목록 상자에 추가합니다.

int Dir(
    UINT attr,
    LPCTSTR lpszWildCard);

매개 변수

attr
설명 CFile::GetStatusenum 값의 조합이거나 다음 값의 조합일 수 있습니다.

  • DDL_READWRITE 파일을 읽거나 쓸 수 있습니다.

  • DDL_READONLY 파일은 읽을 수 있지만 쓸 수는 없습니다.

  • DDL_HIDDEN 파일이 숨겨지고 디렉터리 목록에 표시되지 않습니다.

  • DDL_SYSTEM 파일은 시스템 파일입니다.

  • DDL_DIRECTORY 지정한 lpszWildCard 이름은 디렉터리를 지정합니다.

  • DDL_ARCHIVE 파일이 보관되었습니다.

  • DDL_DRIVES 에 지정된 lpszWildCard이름과 일치하는 모든 드라이브를 포함합니다.

  • DDL_EXCLUSIVE 배타적 플래그입니다. 배타적 플래그를 설정하면 지정된 형식의 파일만 나열됩니다. 그렇지 않으면 지정된 형식의 파일이 "일반" 파일 외에 나열됩니다.

lpszWildCard
파일 사양 문자열을 가리킵니다. 문자열은 wild카드s(예: *.*)를 포함할 수 있습니다.

Return Value

반환 값이 0보다 크거나 같으면 목록에 추가된 마지막 파일 이름의 인덱스(0부터 시작)입니다. 반환 값은 오류가 발생하는 경우입니다 CB_ERR . 반환 값은 CB_ERRSPACE 새 문자열을 저장할 공간이 부족한 경우입니다.

설명

이 함수는 Windows ComboBoxEx 컨트롤에서 지원되지 않습니다. 이 컨트롤에 대한 자세한 내용은 Windows SDK의 컨트롤을 참조 ComboBoxEx 하세요.

예시

// Add all the files and directories in the windows directory.
TCHAR lpszWinPath[MAX_PATH], lpszOldPath[MAX_PATH];
VERIFY(0 < ::GetWindowsDirectory(lpszWinPath, MAX_PATH));

// Make the windows directory the current directory.
::GetCurrentDirectory(MAX_PATH, lpszOldPath);
::SetCurrentDirectory(lpszWinPath);

m_pComboBox->ResetContent();
m_pComboBox->Dir(DDL_READWRITE | DDL_DIRECTORY, _T("*.*"));

// Reset the current directory to its previous path.
::SetCurrentDirectory(lpszOldPath);

CComboBox::DrawItem

소유자 그리기 콤보 상자의 시각적 측면이 변경되면 프레임워크에서 호출됩니다.

virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);

매개 변수

lpDrawItemStruct
필요한 그리기 DRAWITEMSTRUCT 형식에 대한 정보가 들어 있는 구조체에 대한 포인터입니다.

설명

구조체의 DRAWITEMSTRUCT 멤버는 itemAction 수행할 그리기 동작을 정의합니다. 이 구조에 대한 설명은 참조 CWnd::OnDrawItem 하세요.

기본적으로 이 멤버 함수는 아무 작업도 수행하지 않습니다. 소유자 그리 CComboBox 기 개체에 대한 그리기를 구현하려면 이 멤버 함수를 재정의합니다. 이 멤버 함수가 종료되기 전에 애플리케이션은 제공 lpDrawItemStruct된 표시 컨텍스트에 대해 선택한 모든 GDI(그래픽 디바이스 인터페이스) 개체를 복원해야 합니다.

예시

// CMyComboBox is my owner-drawn combo box derived from CComboBox. This
// example draws an item's text centered vertically and horizontally. The
// combo box control was created with the following code:
//   pmyComboBox->Create(
//      WS_CHILD|WS_VISIBLE|WS_BORDER|WS_HSCROLL|WS_VSCROLL|
//      CBS_SORT|CBS_OWNERDRAWVARIABLE,
//      myRect, pParentWnd, 1);
//
void CMyComboBox::DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct)
{
   ASSERT(lpDrawItemStruct->CtlType == ODT_COMBOBOX);
   LPCTSTR lpszText = (LPCTSTR)lpDrawItemStruct->itemData;
   ASSERT(lpszText != NULL);
   CDC dc;

   dc.Attach(lpDrawItemStruct->hDC);

   // Save these value to restore them when done drawing.
   COLORREF crOldTextColor = dc.GetTextColor();
   COLORREF crOldBkColor = dc.GetBkColor();

   // If this item is selected, set the background color
   // and the text color to appropriate values. Erase
   // the rect by filling it with the background color.
   if ((lpDrawItemStruct->itemAction & ODA_SELECT) &&
       (lpDrawItemStruct->itemState & ODS_SELECTED))
   {
      dc.SetTextColor(::GetSysColor(COLOR_HIGHLIGHTTEXT));
      dc.SetBkColor(::GetSysColor(COLOR_HIGHLIGHT));
      dc.FillSolidRect(&lpDrawItemStruct->rcItem, ::GetSysColor(COLOR_HIGHLIGHT));
   }
   else
   {
      dc.FillSolidRect(&lpDrawItemStruct->rcItem, crOldBkColor);
   }

   // Draw the text.
   dc.DrawText(
       lpszText,
       (int)_tcslen(lpszText),
       &lpDrawItemStruct->rcItem,
       DT_CENTER | DT_SINGLELINE | DT_VCENTER);

   // Reset the background color and the text color back to their
   // original values.
   dc.SetTextColor(crOldTextColor);
   dc.SetBkColor(crOldBkColor);

   dc.Detach();
}

CComboBox::FindString

콤보 상자의 목록 상자에 지정된 접두사를 포함하는 첫 번째 문자열을 찾지만 선택하지는 않습니다.

int FindString(
    int nStartAfter,
    LPCTSTR lpszString) const;

매개 변수

nStartAfter
검색할 첫 번째 항목 앞에 있는 항목의 인덱스(0부터 시작)를 포함합니다. 검색이 목록 상자의 맨 아래에 도달하면 목록 상자의 맨 위에서 지정한 항목 nStartAfter까지 계속됩니다. -1이면 전체 목록 상자가 처음부터 검색됩니다.

lpszString
검색할 접두사를 포함하는 null로 끝나는 문자열을 가리킵니다. 검색은 대/소문자를 구분하지 않으므로 이 문자열에는 대문자와 소문자가 섞여 있을 수 있습니다.

Return Value

반환 값이 0보다 크거나 같으면 일치하는 항목의 인덱스(0부터 시작)입니다. 검색에 실패한 경우입니다 CB_ERR .

설명

이 함수는 Windows ComboBoxEx 컨트롤에서 지원되지 않습니다. 이 컨트롤에 대한 자세한 내용은 Windows SDK의 컨트롤을 참조 ComboBoxEx 하세요.

예시

// The string to match.
LPCTSTR lpszmyString = _T("item");

// Delete all items that begin with the specified string.
int nItem = 0;
while ((nItem = m_pComboBox->FindString(nItem, lpszmyString)) != CB_ERR)
{
   m_pComboBox->DeleteString(nItem);
}

CComboBox::FindStringExact

멤버 함수를 FindStringExact 호출하여 지정된 문자열과 일치하는 첫 번째 목록 상자 문자열(콤보 상자)을 찾습니다 lpszFind.

int FindStringExact(
    int nIndexStart,
    LPCTSTR lpszFind) const;

매개 변수

nIndexStart
검색할 첫 번째 항목 앞에 있는 항목의 인덱스(0부터 시작)를 지정합니다. 검색이 목록 상자의 맨 아래에 도달하면 목록 상자의 맨 위에서 지정한 항목 nIndexStart까지 계속됩니다. -1이면 nIndexStart 전체 목록 상자가 처음부터 검색됩니다.

lpszFind
검색할 null로 끝나는 문자열을 가리킵니다. 이 문자열은 확장명을 포함하여 전체 파일 이름을 포함할 수 있습니다. 검색은 대/소문자를 구분하지 않으므로 이 문자열에는 대문자와 소문자가 섞여 있을 수 있습니다.

Return Value

일치하는 항목의 인덱스(0부터 시작하는 인덱스)이거나 CB_ERR 검색에 실패한 경우

설명

소유자 그리기 스타일을 사용하지만 스타일이 없는 CBS_HASSTRINGS 콤보 상자를 만든 경우 doubleword 값을 lpszFind과 일치시키려고 시도 FindStringExact 합니다.

예시

// The string to match.
LPCTSTR lpszmyExactString = _T("item 5");

// Delete all items that exactly match the specified string.
int nDex = 0;
while ((nDex = m_pComboBox->FindStringExact(nDex, lpszmyExactString)) != CB_ERR)
{
   m_pComboBox->DeleteString(nDex);
}

CComboBox::GetComboBoxInfo

개체에 대한 정보를 검색 CComboBox 합니다.

BOOL GetComboBoxInfo(PCOMBOBOXINFO pcbi) const;

매개 변수

*pcbi*<br/> A pointer to the [COMBOBOXINFO'](/windows/win32/api/winuser/ns-winuser-comboboxinfo) 구조체입니다.

Return Value

성공하면 TRUE를 반환하고 실패하면 FALSE를 반환합니다.

설명

이 멤버 함수는 Windows SDK에 CB_GETCOMBOBOXINFO 설명된 대로 메시지의 기능을 에뮬레이트합니다.

CComboBox::GetCount

이 멤버 함수를 호출하여 콤보 상자의 목록 상자 부분에 있는 항목 수를 검색합니다.

int GetCount() const;

Return Value

항목의 수입니다. 반환된 개수는 마지막 항목의 인덱스 값보다 큽니다(인덱스는 0부터 시작). CB_ERR 오류가 발생하는 경우입니다.

예시

// Add 10 items to the combo box.
CString strItem;
for (int i = 0; i < 10; i++)
{
   strItem.Format(_T("item %d"), i);
   m_pComboBox->AddString(strItem);
}

// Verify the 10 items were added to the combo box.
ASSERT(m_pComboBox->GetCount() == 10);

CComboBox::GetCueBanner

콤보 상자 컨트롤에 대해 표시되는 큐 텍스트를 가져옵니다.

CString GetCueBanner() const;

BOOL GetCueBanner(
    LPTSTR lpszText,
    int cchText) const;

매개 변수

lpszText
[out] 큐 배너 텍스트를 받는 버퍼에 대한 포인터입니다.

cchText
[in] 매개 변수가 가리키는 버퍼의 lpszText 크기입니다.

Return Value

첫 번째 오버로드 CString 에서 큐 배너 텍스트가 있으면 포함하는 개체이며, 그렇지 않으면 길이가 0인 CString 개체입니다.

또는

두 번째 오버로드 TRUE 에서 이 메서드가 성공하면 이고, FALSE그렇지 않으면 .

설명

큐 텍스트는 콤보 상자 컨트롤의 입력 영역에 표시되는 프롬프트입니다. 사용자가 입력을 제공 할 때까지 큐 텍스트가 표시됩니다.

이 메서드는 CB_GETCUEBANNER Windows SDK에 설명된 메시지를 보냅니다.

CComboBox::GetCurSel

이 멤버 함수를 호출하여 콤보 상자에서 선택된 항목을 확인합니다.

int GetCurSel() const;

Return Value

콤보 상자의 목록 상자에서 현재 선택한 항목의 인덱스(0부터 시작하는 인덱스)이거나 CB_ERR 항목이 선택되어 있지 않은 경우

설명

GetCurSel 는 인덱스 목록을 반환합니다.

예시

// Select the next item of the currently selected item
// in the combo box.
int nIndex = m_pComboBox->GetCurSel();
int nCount = m_pComboBox->GetCount();
if ((nIndex != CB_ERR) && (nCount > 1))
{
   if (++nIndex < nCount)
      m_pComboBox->SetCurSel(nIndex);
   else
      m_pComboBox->SetCurSel(0);
}

CComboBox::GetDroppedControlRect

멤버 함수를 GetDroppedControlRect 호출하여 드롭다운 콤보 상자의 표시(드롭다운) 목록 상자의 화면 좌표를 검색합니다.

void GetDroppedControlRect(LPRECT lprect) const;

매개 변수

lprect
좌표를 받을 RECT 구조를 가리킵니다.

예시

// This example move a combo box so that the upper left
// corner of the combo box is at a specific point.

// The point to move the combo box to.
CPoint myPoint(30, 10);

CRect r;

m_pComboBox->GetDroppedControlRect(&r);

m_pComboBox->GetParent()->ScreenToClient(&r);
r.OffsetRect(myPoint - r.TopLeft());
m_pComboBox->MoveWindow(&r);

CComboBox::GetDroppedState

멤버 함수를 GetDroppedState 호출하여 드롭다운 콤보 상자의 목록 상자가 표시되는지(드롭다운됨) 여부를 확인합니다.

BOOL GetDroppedState() const;

Return Value

목록 상자가 표시되면 0이 아닌 경우 그렇지 않으면 0입니다.

예시

// Show the dropdown list box if it is not already dropped.
if (!m_pComboBox->GetDroppedState())
   m_pComboBox->ShowDropDown(TRUE);

CComboBox::GetDroppedWidth

이 함수를 호출하여 콤보 상자의 목록 상자에서 허용되는 최소 너비(픽셀)를 검색합니다.

int GetDroppedWidth() const;

Return Value

성공하면 허용되는 최소 너비(픽셀)입니다. 그렇지 않으면 . CB_ERR

설명

이 함수는 또는 CBS_DROPDOWNLIST 스타일이 있는 콤보 상자에 CBS_DROPDOWN 만 적용됩니다.

기본적으로 드롭다운 목록 상자의 허용 가능한 최소 너비는 0입니다. 를 호출 SetDroppedWidth하여 허용되는 최소 너비를 설정할 수 있습니다. 콤보 상자의 목록 상자 부분이 표시되면 해당 너비는 허용되는 최소 너비 또는 콤보 상자 너비보다 큽다.

예시

에 대한 예제를 SetDroppedWidth참조하세요.

CComboBox::GetEditSel

콤보 상자의 편집 컨트롤에서 현재 선택 항목의 시작 및 끝 문자 위치를 가져옵니다.

DWORD GetEditSel() const;

Return Value

하위 단어의 시작 위치와 상위 단어에서 선택 영역이 끝난 후 선택되지 않은 첫 번째 문자의 위치를 포함하는 32비트 값입니다. 이 함수가 편집 컨트롤 CB_ERR 없이 콤보 상자에서 사용되는 경우 반환됩니다.

예시

DWORD dwSel;

// Set the selection to be all characters after the current selection.
if ((dwSel = m_MyComboBox.GetEditSel()) != CB_ERR)
{
   m_MyComboBox.SetEditSel(HIWORD(dwSel), -1);
}

CComboBox::GetExtendedUI

멤버 함수를 GetExtendedUI 호출하여 콤보 상자에 기본 사용자 인터페이스 또는 확장된 사용자 인터페이스가 있는지 확인합니다.

BOOL GetExtendedUI() const;

Return Value

콤보 상자에 확장된 사용자 인터페이스가 있는 경우 0이 아닌 경우 그렇지 않으면 0입니다.

설명

확장된 사용자 인터페이스는 다음과 같은 방법으로 식별할 수 있습니다.

  • 정적 컨트롤을 클릭하면 스타일이 있는 콤보 상자의 목록 상자 CBS_DROPDOWNLIST 만 표시됩니다.

  • 아래쪽 화살표 키를 누르면 목록 상자가 표시됩니다(F4를 사용할 수 없음).

항목 목록이 표시되지 않으면 정적 컨트롤에서 스크롤할 수 없습니다(화살표 키를 사용할 수 없음).

예시

// Use the extended UI if it is not already set.
if (!m_pComboBox->GetExtendedUI())
   m_pComboBox->SetExtendedUI(TRUE);

CComboBox::GetHorizontalExtent

콤보 상자의 목록 상자 부분을 가로로 스크롤할 수 있는 너비를 픽셀 단위로 콤보 상자에서 검색합니다.

UINT GetHorizontalExtent() const;

Return Value

콤보 상자의 목록 상자 부분의 스크롤 가능한 너비(픽셀)입니다.

설명

이는 콤보 상자의 목록 상자 부분에 가로 스크롤 막대가 있는 경우에만 적용됩니다.

예시

// Find the longest string in the combo box.
CString strText;
CSize sz;
UINT dxText = 0;
CDC *pDCCombo = m_pComboBox->GetDC();
for (int i = 0; i < m_pComboBox->GetCount(); i++)
{
   m_pComboBox->GetLBText(i, strText);
   sz = pDCCombo->GetTextExtent(strText);

   if (sz.cx > (LONG)dxText)
      dxText = sz.cx;
}
m_pComboBox->ReleaseDC(pDCCombo);

// Set the horizontal extent only if the current extent is not large enough.
if (m_pComboBox->GetHorizontalExtent() < dxText)
{
   m_pComboBox->SetHorizontalExtent(dxText);
   ASSERT(m_pComboBox->GetHorizontalExtent() == dxText);
}

CComboBox::GetItemData

지정된 콤보 상자 항목과 연결된 애플리케이션 제공 32비트 값을 검색합니다.

DWORD_PTR GetItemData(int nIndex) const;

매개 변수

nIndex
콤보 상자의 목록 상자에 있는 항목의 인덱스(0부터 시작하는 인덱스)를 포함합니다.

Return Value

항목과 연결된 32비트 값이거나 CB_ERR 오류가 발생하는 경우

설명

멤버 함수 호출의 SetItemData 매개 변수를 사용하여 dwItemData 32비트 값을 설정할 수 있습니다. GetItemDataPtr 검색할 32비트 값이 포인터(void*)인 경우 멤버 함수를 사용합니다.

예시

// If any item's data is equal to zero then reset it to -1.
for (int i = 0; i < m_pComboBox->GetCount(); i++)
{
   if (m_pComboBox->GetItemData(i) == 0)
   {
      m_pComboBox->SetItemData(i, (DWORD)-1);
   }
}

CComboBox::GetItemDataPtr

지정된 콤보 상자 항목과 연결된 애플리케이션 제공 32비트 값을 포인터(void*)로 검색합니다.

void* GetItemDataPtr(int nIndex) const;

매개 변수

nIndex
콤보 상자의 목록 상자에 있는 항목의 인덱스(0부터 시작하는 인덱스)를 포함합니다.

Return Value

포인터를 검색하거나 오류가 발생하면 -1을 검색합니다.

예시

LPVOID lpmyPtr = m_pComboBox->GetItemDataPtr(5);

// Check all the items in the combo box; if an item's
// data pointer is equal to my pointer then reset it to NULL.
for (int i = 0; i < m_pComboBox->GetCount(); i++)
{
   if (m_pComboBox->GetItemDataPtr(i) == lpmyPtr)
   {
      m_pComboBox->SetItemDataPtr(i, NULL);
   }
}

CComboBox::GetItemHeight

멤버 함수를 GetItemHeight 호출하여 콤보 상자에서 목록 항목의 높이를 검색합니다.

int GetItemHeight(int nIndex) const;

매개 변수

nIndex
높이를 검색할 콤보 상자의 구성 요소를 지정합니다. 매개 변수가 nIndex -1이면 콤보 상자의 편집 컨트롤(또는 정적 텍스트) 부분의 높이가 검색됩니다. 콤보 상자에 스타일 nIndexCBS_OWNERDRAWVARIABLE 있는 경우 높이를 검색할 목록 항목의 인덱스(0부터 시작)를 지정합니다. 그렇지 않으면 nIndex 0으로 설정해야 합니다.

Return Value

콤보 상자에서 지정한 항목의 높이(픽셀)입니다. 반환 값은 CB_ERR 오류가 발생하는 경우입니다.

예시

// Set the height of every item so the item
// is completely visible.
CString strLBText;
CSize size;
CDC *pDC = m_pComboBox->GetDC();
for (int i = 0; i < m_pComboBox->GetCount(); i++)
{
   m_pComboBox->GetLBText(i, strLBText);
   size = pDC->GetTextExtent(strLBText);

   // Only want to set the item height if the current height
   // is not big enough.
   if (m_pComboBox->GetItemHeight(i) < size.cy)
      m_pComboBox->SetItemHeight(i, size.cy);
}
m_pComboBox->ReleaseDC(pDC);

CComboBox::GetLBText

콤보 상자의 목록 상자에서 문자열을 가져옵니다.

int GetLBText(
    int nIndex,
    LPTSTR lpszText) const;

void GetLBText(
    int nIndex,
    CString& rString) const;

매개 변수

nIndex
복사할 목록 상자 문자열의 인덱스(0부터 시작)를 포함합니다.

lpszText
문자열을 받을 버퍼를 가리킵니다. 버퍼에는 문자열과 종료 Null 문자를 위한 충분한 공간이 있어야 합니다.

rString
에 대 한 참조를 CString입니다.

Return Value

종결 null 문자를 제외한 문자열의 길이(바이트)입니다. 유효한 인덱스가 지정되지 않으면 nIndex 반환 값은 .입니다 CB_ERR.

설명

이 멤버 함수의 두 번째 형식은 CString 항목의 텍스트로 개체를 채웁니다.
잘못된 경우 nIndex 이 함수는 예외를 throw합니다 E_INVALIDARG (오류 코드: -2147024809, 0x80070057).

예시

// Dump all of the items in the combo box.
CString str1, str2;
int n;
for (int i = 0; i < m_pComboBox->GetCount(); i++)
{
   n = m_pComboBox->GetLBTextLen(i);
   m_pComboBox->GetLBText(i, str1.GetBuffer(n));
   str1.ReleaseBuffer();

   str2.Format(_T("item %d: %s\r\n"), i, str1.GetBuffer(0));
   AFXDUMP(str2);
}

CComboBox::GetLBTextLen

콤보 상자의 목록 상자에 있는 문자열의 길이를 가져옵니다.

int GetLBTextLen(int nIndex) const;

매개 변수

nIndex
목록 상자 문자열의 인덱스(0부터 시작하는 인덱스)를 포함합니다.

Return Value

종료 null 문자를 제외한 문자열의 길이(바이트)입니다. 유효한 인덱스가 지정되지 않으면 nIndex 반환 값은 .입니다 CB_ERR.

예시

에 대한 예제를 CComboBox::GetLBText참조하세요.

CComboBox::GetLocale

콤보 상자에서 사용하는 로캘을 검색합니다.

LCID GetLocale() const;

Return Value

콤보 상자의 문자열에 대한 LCID(로캘 식별자) 값입니다.

설명

예를 들어 로캘은 정렬된 콤보 상자에서 문자열의 정렬 순서를 결정하는 데 사용됩니다.

예시

에 대한 예제를 CComboBox::SetLocale참조하세요.

CComboBox::GetMinVisible

현재 콤보 상자 컨트롤의 드롭다운 목록에서 표시되는 항목의 최소 수를 가져옵니다.

int GetMinVisible() const;

Return Value

현재 드롭다운 목록에 표시되는 항목의 최소 수입니다.

설명

이 메서드는 CB_GETMINVISIBLE Windows SDK에 설명된 메시지를 보냅니다.

CComboBox::GetTopIndex

콤보 상자의 목록 상자 부분에 표시되는 첫 번째 항목의 인덱스(0부터 시작)를 검색합니다.

int GetTopIndex() const;

Return Value

성공 CB_ERR 하면 콤보 상자의 목록 상자 부분에 표시되는 첫 번째 항목의 인덱스(0부터 시작)입니다.

설명

처음에는 항목 0이 목록 상자의 맨 위에 있지만 목록 상자가 스크롤되면 다른 항목이 맨 위에 있을 수 있습니다.

예시

// Want an item in the bottom half to be the first visible item.
int nTop = m_pComboBox->GetCount() / 2;
if (m_pComboBox->GetTopIndex() < nTop)
{
   m_pComboBox->SetTopIndex(nTop);
   ASSERT(m_pComboBox->GetTopIndex() == nTop);
}

CComboBox::InitStorage

콤보 상자의 목록 상자 부분에 목록 상자 항목을 저장하기 위한 메모리를 할당합니다.

int InitStorage(
    int nItems,
    UINT nBytes);

매개 변수

nItems
추가할 항목 수를 지정합니다.

nBytes
항목 문자열에 할당할 메모리 양(바이트)을 지정합니다.

Return Value

성공하면 메모리 재할당이 필요하기 전에 콤보 상자의 목록 상자 부분이 저장할 수 있는 최대 항목 수가고, 그렇지 않으면 CB_ERRSPACE메모리가 부족함을 의미합니다.

설명

의 목록 상자 부분에 많은 수의 항목을 추가하기 전에 이 함수를 호출합니다 CComboBox.

Windows 95/98에만 해당: wParam 매개 변수는 16비트 값으로 제한됩니다. 즉, 목록 상자에는 최대 32,767개 항목까지 포함할 수 있습니다. 항목 수가 제한되어 있지만 목록 상자에 있는 항목의 총 크기는 사용 가능한 메모리에 의해서만 제한됩니다.

이 함수는 많은 수의 항목(100개 이상)이 있는 목록 상자의 초기화를 가속화하는 데 도움이 됩니다. 지정된 양의 메모리를 미리 할당하여 후속 AddStringInsertStringDir 함수가 가능한 가장 짧은 시간이 소요되도록 합니다. 매개 변수에 대한 예상치를 사용할 수 있습니다. 과대 평가하면 일부 추가 메모리가 할당됩니다. 과소 평가하면 미리 할당된 양을 초과하는 항목에 대해 일반 할당이 사용됩니다.

예시

// Initialize the storage of the combo box to be 256 strings with
// about 10 characters per string, performance improvement.
int nAlloc = pmyComboBox->InitStorage(256, 10);
ASSERT(nAlloc != CB_ERRSPACE);

// Add 256 items to the combo box.
CString strAdd;
for (int i = 0; i < 256; i++)
{
   strAdd.Format(_T("item string %d"), i);
   m_pComboBox->AddString(strAdd);
}

CComboBox::InsertString

콤보 상자의 목록 상자에 문자열을 삽입합니다.

int InsertString(
    int nIndex,
    LPCTSTR lpszString);

매개 변수

nIndex
문자열을 받을 목록 상자의 위치에 대한 0부터 시작하는 인덱스를 포함합니다. 이 매개 변수가 -1이면 문자열이 목록의 끝에 추가됩니다.

lpszString
삽입할 null 종료 문자열을 가리킵니다.

Return Value

문자열이 삽입된 위치의 0부터 시작하는 인덱스입니다. 반환 값은 CB_ERR 오류가 발생하는 경우입니다. 반환 값은 CB_ERRSPACE 새 문자열을 저장할 수 있는 공간이 부족한 경우입니다.

설명

멤버 함수와 AddString 달리 멤버 함수는 InsertString 스타일이 있는 CBS_SORT 목록을 정렬하지 않습니다.

참고 항목

이 함수는 Windows ComboBoxEx 컨트롤에서 지원되지 않습니다. 이 컨트롤에 대한 자세한 내용은 Windows SDK의 컨트롤을 참조 ComboBoxEx 하세요.

예시

// Insert items in between existing items.
CString strIns;
int nItems = m_pComboBox->GetCount();
for (int i = 0; i < nItems; i++)
{
   strIns.Format(_T("item string %c"), (char)('A' + i));
   m_pComboBox->InsertString(2 * i, strIns);
}

CComboBox::LimitText

사용자가 콤보 상자의 편집 컨트롤에 입력할 수 있는 텍스트의 길이를 바이트 단위로 제한합니다.

BOOL LimitText(int nMaxChars);

매개 변수

nMaxChars
사용자가 입력할 수 있는 텍스트의 길이(바이트)를 지정합니다. 이 매개 변수가 0이면 텍스트 길이가 65,535바이트로 설정됩니다.

Return Value

성공하면 0이 아닌 값입니다. 스타일 CBS_DROPDOWNLIST 이 있는 콤보 상자 또는 편집 컨트롤이 없는 콤보 상자에 대해 호출되는 경우 반환 값은 .입니다 CB_ERR.

설명

콤보 상자에 스타일 CBS_AUTOHSCROLL이 없으면 텍스트 제한을 편집 컨트롤의 크기보다 크게 설정해도 효과가 없습니다.

LimitText 사용자가 입력할 수 있는 텍스트만 제한합니다. 메시지가 전송될 때 편집 컨트롤에 이미 있는 텍스트에는 영향을 미치지 않으며 목록 상자의 문자열이 선택될 때 편집 컨트롤에 복사된 텍스트의 길이에도 영향을 주지 않습니다.

예시

// Limit the number of characters in the combo box's edit control to
// be the maximum number visible.

// Get the text metrics for the combo box; needed for the
// average character width.
TEXTMETRIC tm;
CDC *pDCCB = m_pComboBox->GetDC();
pDCCB->GetTextMetrics(&tm);
m_pComboBox->ReleaseDC(pDCCB);

CRect rect;
m_pComboBox->GetClientRect(&rect);

m_pComboBox->LimitText(rect.Width() / tm.tmAveCharWidth);

CComboBox::MeasureItem

소유자 그리기 스타일이 있는 콤보 상자가 만들어지면 프레임워크에서 호출됩니다.

virtual void MeasureItem(LPMEASUREITEMSTRUCT lpMeasureItemStruct);

매개 변수

lpMeasureItemStruct
구조체에 대한 긴 포인터입니다 MEASUREITEMSTRUCT .

설명

기본적으로 이 멤버 함수는 아무 작업도 수행하지 않습니다. 이 멤버 함수를 재정의하고 구조를 입력 MEASUREITEMSTRUCT 하여 콤보 상자에서 목록 상자의 차원을 Windows에 알립니다. 스타일을 사용하여 CBS_OWNERDRAWVARIABLE 콤보 상자를 만드는 경우 프레임워크는 목록 상자의 각 항목에 대해 이 멤버 함수를 호출합니다. 그렇지 않으면 이 멤버는 한 번만 호출됩니다.

CBS_OWNERDRAWFIXED 멤버 함수를 사용하여 만든 SubclassDlgItem 소유자 그리기 콤보 상자에서 CWnd 스타일을 사용하려면 추가 프로그래밍 고려 사항이 필요합니다. 기술 참고 14에서 토론을 참조하세요.

구조에 대한 설명은 참조 CWnd::OnMeasureItem 하세요 MEASUREITEMSTRUCT .

예시

// CMyComboBox is my owner-drawn combo box derived from CComboBox. This
// example measures an item and sets the height of the item to twice the
// vertical extent of its text. The combo box control was created with
// the following code:
//   pmyComboBox->Create(
//      WS_CHILD|WS_VISIBLE|WS_BORDER|WS_HSCROLL|WS_VSCROLL|
//      CBS_SORT|CBS_OWNERDRAWVARIABLE,
//      myRect, pParentWnd, 1);
//
void CMyComboBox::MeasureItem(LPMEASUREITEMSTRUCT lpMeasureItemStruct)
{
   ASSERT(lpMeasureItemStruct->CtlType == ODT_COMBOBOX);

   if (lpMeasureItemStruct->itemID != (UINT)-1)
   {
      LPCTSTR lpszText = (LPCTSTR)lpMeasureItemStruct->itemData;
      ASSERT(lpszText != NULL);
      CSize sz;
      CDC *pDC = GetDC();

      sz = pDC->GetTextExtent(lpszText);

      ReleaseDC(pDC);

      lpMeasureItemStruct->itemHeight = 2 * sz.cy;
   }
}

CComboBox::Paste

클립보드의 데이터를 현재 커서 위치에 있는 콤보 상자의 편집 컨트롤에 삽입합니다.

void Paste();

설명

클립보드에 형식의 데이터가 포함된 경우에만 데이터가 CF_TEXT 삽입됩니다.

예시

// Replace all of the text in the combo box's edit control with the text
// in the clipboard.
m_MyComboBox.SetEditSel(0, -1);
m_MyComboBox.Paste();

CComboBox::ResetContent

콤보 상자의 목록 상자 및 편집 컨트롤에서 모든 항목을 제거합니다.

void ResetContent();

예시

// Delete all the items from the combo box.
m_pComboBox->ResetContent();
ASSERT(m_pComboBox->GetCount() == 0);

CComboBox::SelectString

콤보 상자의 목록 상자에서 문자열을 검색하고 문자열이 발견되면 목록 상자에서 문자열을 선택하고 편집 컨트롤에 복사합니다.

int SelectString(
    int nStartAfter,
    LPCTSTR lpszString);

매개 변수

nStartAfter
검색할 첫 번째 항목 앞에 있는 항목의 인덱스(0부터 시작)를 포함합니다. 검색이 목록 상자의 맨 아래에 도달하면 목록 상자의 맨 위에서 지정한 항목 nStartAfter까지 계속됩니다. -1이면 전체 목록 상자가 처음부터 검색됩니다.

lpszString
검색할 접두사를 포함하는 null로 끝나는 문자열을 가리킵니다. 검색은 대/소문자를 구분하지 않으므로 이 문자열에는 대문자와 소문자가 섞여 있을 수 있습니다.

Return Value

문자열이 발견된 경우 선택한 항목의 인덱스(0부터 시작하는 인덱스)입니다. 검색에 실패한 경우 반환 값은 CB_ERR 현재 선택 영역이 변경되지 않습니다.

설명

문자열은 시작점의 초기 문자가 접두사 문자열의 문자와 일치하는 경우에만 선택됩니다.

SelectString 멤버 함수와 FindString 멤버 함수는 모두 문자열을 찾지만 SelectString 멤버 함수는 문자열도 선택합니다.

예시

// The string to match.
LPCTSTR lpszSelect = _T("item");

// Select the item that begins with the specified string.
int nSel = m_pComboBox->SelectString(0, lpszSelect);
ASSERT(nSel != CB_ERR);

CComboBox::SetCueBanner

콤보 상자 컨트롤에 대해 표시되는 큐 텍스트를 설정합니다.

BOOL SetCueBanner(LPCTSTR lpszText);

매개 변수

lpszText
[in] 큐 텍스트를 포함하는 null로 끝나는 버퍼에 대한 포인터입니다.

Return Value

해당 메서드에 성공하면 TRUE이고, 그렇지 않으면 FALSE입니다.

설명

큐 텍스트는 콤보 상자 컨트롤의 입력 영역에 표시되는 프롬프트입니다. 사용자가 입력을 제공 할 때까지 큐 텍스트가 표시됩니다.

이 메서드는 CB_SETCUEBANNER Windows SDK에 설명된 메시지를 보냅니다.

예시

첫 번째 코드 예제에서는 프로그래밍 방식으로 콤보 상자 컨트롤에 액세스 하는 데 사용 되는 변수 m_combobox를 정의 합니다. 이 변수는 다음 예제에서 사용됩니다.

// Variable to access the combo box control
CComboBox m_combobox;

다음 코드 예제에서는 콤보 상자 컨트롤에 대 한 큐 배너를 설정 합니다.

// Add extra initialization here.

// Add 20 items to the combo box. The Resource Editor
// has already been used to set the style of the combo
// box to CBS_SORT.
CString str;
for (int i = 1; i <= 20; i++)
{
    str.Format(_T("Item %2d"), i);
    m_combobox.AddString(str);
}
// Set the minimum visible item
m_combobox.SetMinVisibleItems(10);
// Set the cue banner
m_combobox.SetCueBanner(_T("Select an item..."));

// End of extra initialization.

CComboBox::SetCurSel

콤보 상자의 목록 상자에서 문자열을 선택합니다.

int SetCurSel(int nSelect);

매개 변수

nSelect
선택할 문자열의 0부터 시작하는 인덱스를 지정합니다. -1이면 목록 상자의 현재 선택 영역이 제거되고 편집 컨트롤이 지워집니다.

Return Value

메시지가 성공하면 선택한 항목의 인덱스(0부터 시작하는 인덱스)입니다. 반환 값은 CB_ERRnSelect 목록의 항목 수보다 크거나 선택 영역을 지우는 -1로 설정된 경우 nSelect 입니다.

설명

필요한 경우 목록 상자는 문자열을 보기로 스크롤합니다(목록 상자가 표시되는 경우). 콤보 상자의 편집 컨트롤에 있는 텍스트가 새 선택 영역을 반영하도록 변경됩니다. 목록 상자의 이전 선택 항목이 제거됩니다.

예시

// Select the last item in the combo box.
int nLast = pmyComboBox->GetCount() - 1;
if (nLast >= 0)
   m_pComboBox->SetCurSel(nLast);

CComboBox::SetDroppedWidth

이 함수를 호출하여 콤보 상자의 목록 상자에서 허용되는 최소 너비(픽셀)를 설정합니다.

int SetDroppedWidth(UINT nWidth);

매개 변수

nWidth
콤보 상자의 목록 상자 부분의 최소 허용 너비(픽셀)입니다.

Return Value

성공하면 목록 상자의 새 너비가고, 그렇지 않으면 CB_ERR.

설명

이 함수는 또는 CBS_DROPDOWNLIST 스타일이 있는 콤보 상자에 CBS_DROPDOWN 만 적용됩니다.

기본적으로 드롭다운 목록 상자의 허용 가능한 최소 너비는 0입니다. 콤보 상자의 목록 상자 부분이 표시되면 해당 너비는 허용되는 최소 너비 또는 콤보 상자 너비보다 큽다.

예시

// Find the longest string in the combo box.
CString str;
CSize sz;
int dx = 0;
TEXTMETRIC tm;
CDC *pDC = m_pComboBox->GetDC();
CFont *pFont = m_pComboBox->GetFont();

// Select the listbox font, save the old font
CFont *pOldFont = pDC->SelectObject(pFont);
// Get the text metrics for avg char width
pDC->GetTextMetrics(&tm);

for (int i = 0; i < m_pComboBox->GetCount(); i++)
{
   m_pComboBox->GetLBText(i, str);
   sz = pDC->GetTextExtent(str);

   // Add the avg width to prevent clipping
   sz.cx += tm.tmAveCharWidth;

   if (sz.cx > dx)
      dx = sz.cx;
}
// Select the old font back into the DC
pDC->SelectObject(pOldFont);
m_pComboBox->ReleaseDC(pDC);

// Adjust the width for the vertical scroll bar and the left and right border.
dx += ::GetSystemMetrics(SM_CXVSCROLL) + 2 * ::GetSystemMetrics(SM_CXEDGE);

// Set the width of the list box so that every item is completely visible.
m_pComboBox->SetDroppedWidth(dx);

CComboBox::SetEditSel

콤보 상자의 편집 컨트롤에서 문자를 선택합니다.

BOOL SetEditSel(
    int nStartChar,
    int nEndChar);

매개 변수

nStartChar
시작 위치를 지정합니다. 시작 위치가 -1로 설정된 경우 기존 선택 영역이 제거됩니다.

nEndChar
끝 위치를 지정합니다. 끝 위치가 -1로 설정된 경우 편집 컨트롤의 시작 위치에서 마지막 문자까지의 모든 텍스트가 선택됩니다.

Return Value

멤버 함수가 성공하면 0이 아닌 값입니다. 그렇지 않으면 0입니다. 스타일이 CB_ERRCBS_DROPDOWNLIST 있거나 목록 상자가 없는 경우 CComboBox 입니다.

설명

위치는 0부터 시작합니다. 편집 컨트롤의 첫 번째 문자를 선택하려면 시작 위치를 0으로 지정합니다. 끝 위치는 선택할 마지막 문자 바로 뒤에 있는 문자에 대한 위치입니다. 예를 들어 편집 컨트롤의 처음 네 문자를 선택하려면 시작 위치 0과 끝 위치 4를 사용합니다.

참고 항목

이 함수는 Windows ComboBoxEx 컨트롤에서 지원되지 않습니다. 이 컨트롤에 대한 자세한 내용은 Windows SDK의 컨트롤을 참조 ComboBoxEx 하세요.

예시

에 대한 예제를 CComboBox::GetEditSel참조하세요.

CComboBox::SetExtendedUI

멤버 함수를 SetExtendedUI 호출하여 기본 사용자 인터페이스 또는 스타일이 있는 콤보 상자의 확장된 사용자 인터페이스를 CBS_DROPDOWNCBS_DROPDOWNLIST 선택합니다.

int SetExtendedUI(BOOL bExtended = TRUE);

매개 변수

bExtended
콤보 상자에서 확장된 사용자 인터페이스 또는 기본 사용자 인터페이스를 사용해야 하는지 여부를 지정합니다. 값 TRUE 은 확장된 사용자 인터페이스를 선택하고 값 FALSE 은 표준 사용자 인터페이스를 선택합니다.

Return Value

CB_OKAY 작업이 성공하거나 CB_ERR 오류가 발생하는 경우

설명

확장된 사용자 인터페이스는 다음과 같은 방법으로 식별할 수 있습니다.

  • 정적 컨트롤을 클릭하면 스타일이 있는 콤보 상자의 목록 상자 CBS_DROPDOWNLIST 만 표시됩니다.

  • 아래쪽 화살표 키를 누르면 목록 상자가 표시됩니다(F4를 사용할 수 없음).

항목 목록이 표시되지 않으면 정적 컨트롤에서 스크롤할 수 없습니다(화살표 키를 사용할 수 없음).

예시

에 대한 예제를 CComboBox::GetExtendedUI참조하세요.

CComboBox::SetHorizontalExtent

콤보 상자의 목록 상자 부분을 가로로 스크롤할 수 있는 너비를 픽셀 단위로 설정합니다.

void SetHorizontalExtent(UINT nExtent);

매개 변수

nExtent
콤보 상자의 목록 상자 부분을 가로로 스크롤할 수 있는 픽셀 수를 지정합니다.

설명

목록 상자의 너비가 이 값보다 작으면 가로 스크롤 막대가 목록 상자의 항목을 가로로 스크롤합니다. 목록 상자의 너비가 이 값보다 크거나 같으면 가로 스크롤 막대가 숨겨지거나 콤보 상자에 스타일이 CBS_DISABLENOSCROLL 있으면 사용하지 않도록 설정됩니다.

예시

// Find the longest string in the combo box.
CString str;
CSize sz;
int dx = 0;
TEXTMETRIC tm;
CDC *pDC = m_pComboBox->GetDC();
CFont *pFont = m_pComboBox->GetFont();

// Select the listbox font, save the old font
CFont *pOldFont = pDC->SelectObject(pFont);
// Get the text metrics for avg char width
pDC->GetTextMetrics(&tm);

for (int i = 0; i < m_pComboBox->GetCount(); i++)
{
   m_pComboBox->GetLBText(i, str);
   sz = pDC->GetTextExtent(str);

   // Add the avg width to prevent clipping
   sz.cx += tm.tmAveCharWidth;

   if (sz.cx > dx)
      dx = sz.cx;
}
// Select the old font back into the DC
pDC->SelectObject(pOldFont);
m_pComboBox->ReleaseDC(pDC);

// Set the horizontal extent so every character of all strings can
// be scrolled to.
m_pComboBox->SetHorizontalExtent(dx);

CComboBox::SetItemData

콤보 상자에서 지정된 항목과 연결된 32비트 값을 설정합니다.

int SetItemData(
    int nIndex,
    DWORD_PTR dwItemData);

매개 변수

nIndex
설정할 항목에 대한 인덱스(0부터 시작하는 인덱스)를 포함합니다.

dwItemData
항목과 연결할 새 값을 포함합니다.

Return Value

CB_ERR 오류가 발생하는 경우

설명

SetItemDataPtr 32비트 항목이 포인터인 경우 멤버 함수를 사용합니다.

예시

// Set the data of each item to be equal to its index.
for (int i = 0; i < m_pComboBox->GetCount(); i++)
{
   m_pComboBox->SetItemData(i, i);
}

CComboBox::SetItemDataPtr

콤보 상자에서 지정된 항목과 연결된 32비트 값을 지정된 포인터(void*)로 설정합니다.

int SetItemDataPtr(
    int nIndex,
    void* pData);

매개 변수

nIndex
항목에 대한 인덱스(0부터 시작하는 인덱스)를 포함합니다.

pData
항목과 연결할 포인터를 포함합니다.

Return Value

CB_ERR 오류가 발생하는 경우

설명

이 포인터는 항목이 추가되거나 제거될 때 콤보 상자 내의 항목의 상대 위치가 변경될 수 있더라도 콤보 상자의 수명 동안 유효한 포인터를 다시 기본. 따라서 상자 내의 항목 인덱스는 변경할 수 있지만 포인터는 신뢰할 수 기본.

예시

// Set the data pointer of each item to be NULL.
for (int i = 0; i < m_pComboBox->GetCount(); i++)
{
   m_pComboBox->SetItemDataPtr(i, NULL);
}

CComboBox::SetItemHeight

멤버 함수를 SetItemHeight 호출하여 콤보 상자에서 목록 항목의 높이 또는 콤보 상자의 편집 컨트롤(또는 정적 텍스트) 부분의 높이를 설정합니다.

int SetItemHeight(
    int nIndex,
    UINT cyItemHeight);

매개 변수

nIndex
목록 항목의 높이 또는 콤보 상자의 편집 컨트롤(또는 정적 텍스트) 부분의 높이를 설정할지 여부를 지정합니다.

콤보 상자에 스타일 nIndexCBS_OWNERDRAWVARIABLE 있는 경우 높이를 설정할 목록 항목의 인덱스(0부터 시작)를 지정합니다. 그렇지 않으면 nIndex 0이어야 하며 모든 목록 항목의 높이가 설정됩니다.

-1인 경우 nIndex 콤보 상자의 편집 컨트롤 또는 정적 텍스트 부분의 높이를 설정해야 합니다.

cyItemHeight
로 식별 nIndex되는 콤보 상자 구성 요소의 높이(픽셀)를 지정합니다.

Return Value

CB_ERR 인덱스 또는 높이가 잘못된 경우 그렇지 않으면 0입니다.

설명

콤보 상자의 편집 컨트롤(또는 정적 텍스트) 부분의 높이는 목록 항목의 높이와 독립적으로 설정됩니다. 애플리케이션은 편집 컨트롤(또는 정적 텍스트) 부분의 높이가 특정 목록 상자 항목의 높이보다 작지 않은지 확인해야 합니다.

예시

// Set the height of every item to be the
// vertical size of the item's text extent.
CString str;
CSize sz;
CDC *pDC = m_pComboBox->GetDC();
for (int i = 0; i < m_pComboBox->GetCount(); i++)
{
   m_pComboBox->GetLBText(i, str);
   sz = pDC->GetTextExtent(str);

   m_pComboBox->SetItemHeight(i, sz.cy);
}
m_pComboBox->ReleaseDC(pDC);

CComboBox::SetLocale

이 콤보 상자에 대한 로캘 식별자를 설정합니다.

LCID SetLocale(LCID nNewLocale);

매개 변수

nNewLocale
콤보 상자에 대해 설정할 새 LCID(로캘 식별자) 값입니다.

Return Value

이 콤보 상자에 대한 이전 LCID(로캘 식별자) 값입니다.

설명

SetLocale 호출되지 않으면 시스템에서 기본 로캘을 가져옵니다. 이 시스템 기본 로캘은 제어판 지역(또는 국제) 애플리케이션을 사용하여 수정할 수 있습니다.

예시

// My LCID to use.
LCID mylcid = MAKELCID(MAKELANGID(LANG_SPANISH, SUBLANG_SPANISH_MEXICAN),
                       SORT_DEFAULT);

// Force the list box to use my locale.
m_pComboBox->SetLocale(mylcid);
ASSERT(m_pComboBox->GetLocale() == mylcid);

CComboBox::SetMinVisibleItems

현재 콤보 상자 컨트롤의 드롭다운 목록에서 표시되는 항목의 최소 수를 설정합니다.

BOOL SetMinVisibleItems(int iMinVisible);

매개 변수

iMinVisible
[in] 표시되는 항목의 최소 수를 지정합니다.

Return Value

TRUE이 메서드가 성공하면 이고, 그렇지 않으면 . FALSE

설명

이 메서드는 CB_SETMINVISIBLE Windows SDK에 설명된 메시지를 보냅니다.

예시

첫 번째 코드 예제에서는 프로그래밍 방식으로 콤보 상자 컨트롤에 액세스 하는 데 사용 되는 변수 m_combobox를 정의 합니다. 이 변수는 다음 예제에서 사용됩니다.

// Variable to access the combo box control
CComboBox m_combobox;

다음 코드 예제에서는 콤보 상자 컨트롤의 드롭다운 목록에 20개의 항목을 삽입합니다. 그런 다음 사용자가 드롭다운 화살표를 누를 때 최소 10개의 항목이 표시되도록 지정합니다.

// Add extra initialization here.

// Add 20 items to the combo box. The Resource Editor
// has already been used to set the style of the combo
// box to CBS_SORT.
CString str;
for (int i = 1; i <= 20; i++)
{
    str.Format(_T("Item %2d"), i);
    m_combobox.AddString(str);
}
// Set the minimum visible item
m_combobox.SetMinVisibleItems(10);
// Set the cue banner
m_combobox.SetCueBanner(_T("Select an item..."));

// End of extra initialization.

CComboBox::SetTopIndex

특정 항목이 콤보 상자의 목록 상자 부분에 표시되는지 확인합니다.

int SetTopIndex(int nIndex);

매개 변수

nIndex
목록 상자 항목의 인덱스(0부터 시작하는 인덱스)를 지정합니다.

Return Value

성공하거나 CB_ERR 오류가 발생하는 경우 0입니다.

설명

시스템에서 지정 nIndex 한 항목이 목록 상자의 맨 위에 표시되거나 최대 스크롤 범위에 도달할 때까지 목록 상자를 스크롤합니다.

예시

// Set the first visible item in the combo box to be the middle item
m_pComboBox->SetTopIndex(m_pComboBox->GetCount() / 2);

CComboBox::ShowDropDown

스타일이 있는 콤보 상자의 목록 상자를 CBS_DROPDOWN 표시하거나 CBS_DROPDOWNLIST 숨깁니다.

void ShowDropDown(BOOL bShowIt = TRUE);

매개 변수

bShowIt
드롭다운 목록 상자를 표시할지 숨길지 여부를 지정합니다. 값은 TRUE 목록 상자를 표시합니다. 값은 FALSE 목록 상자를 숨깁니다.

설명

기본적으로 이 스타일의 콤보 상자에는 목록 상자가 표시됩니다.

이 멤버 함수는 스타일로 만든 CBS_SIMPLE 콤보 상자에 영향을 주지 않습니다.

예시

에 대한 예제를 CComboBox::GetDroppedState참조하세요.

참고 항목

MFC 샘플 CTRLBAR
CWnd 클래스
계층 구조 차트
CWnd 클래스
CButton 클래스
CEdit 클래스
CListBox 클래스
CScrollBar 클래스
CStatic 클래스
CDialog 클래스