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_DROPDOWN CBS_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
를 참조하세요.
상속 계층 구조
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::OnCompareItem
COMPAREITEMSTRUCT
.
설명
기본적으로 이 멤버 함수는 아무 작업도 수행하지 않습니다. 스타일을 사용하여 소유자 그리기 콤보 상자를 만드는 경우 목록 상자에 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
콤보 상자의 위치와 크기를 가리킵니다. 구조체 또는 개체일 CRect
RECT
수 있습니다.
pParentWnd
콤보 상자의 부모 창(일반적으로 )을 CDialog
지정합니다. 해서는 안 됩니다 NULL
.
nID
콤보 상자의 컨트롤 ID를 지정합니다.
Return Value
성공하면 0이 아니고, 그렇지 않으면 0입니다.
설명
두 단계로 개체를 CComboBox
생성합니다. 먼저 생성자를 호출한 다음 호출 Create
합니다. 그러면 Windows 콤보 상자가 만들어지고 개체에 CComboBox
연결됩니다.
실행되면 Create
Windows는 WM_NCCREATE
콤보 상자에 , WM_CREATE
및 WM_NCCALCSIZE
WM_GETMINMAXINFO
메시지를 보냅니다.
이러한 메시지는 기본적으로 기본 클래스의 OnNcCreate
, OnCreate
, OnNcCalcSize
및 OnGetMinMaxInfo
멤버 함수에 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::GetStatus
된 enum
값의 조합이거나 다음 값의 조합일 수 있습니다.
DDL_READWRITE
파일을 읽거나 쓸 수 있습니다.DDL_READONLY
파일은 읽을 수 있지만 쓸 수는 없습니다.DDL_HIDDEN
파일이 숨겨지고 디렉터리 목록에 표시되지 않습니다.DDL_SYSTEM
파일은 시스템 파일입니다.DDL_DIRECTORY
지정한lpszWildCard
이름은 디렉터리를 지정합니다.DDL_ARCHIVE
파일이 보관되었습니다.DDL_DRIVES
에 지정된lpszWildCard
이름과 일치하는 모든 드라이브를 포함합니다.DDL_EXCLUSIVE
배타적 플래그입니다. 배타적 플래그를 설정하면 지정된 형식의 파일만 나열됩니다. 그렇지 않으면 지정된 형식의 파일이 "일반" 파일 외에 나열됩니다.
lpszWildCard
파일 사양 문자열을 가리킵니다. 문자열에는 와일드카드(예: *.*
)가 포함될 수 있습니다.
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이면 콤보 상자의 편집 컨트롤(또는 정적 텍스트) 부분의 높이가 검색됩니다. 콤보 상자에 스타일 nIndex
이 CBS_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개 이상)이 있는 목록 상자의 초기화를 가속화하는 데 도움이 됩니다. 지정된 양의 메모리를 미리 할당하여 후속 AddString
InsertString
및 Dir
함수가 가능한 가장 짧은 시간이 소요되도록 합니다. 매개 변수에 대한 예상치를 사용할 수 있습니다. 과대 평가하면 일부 추가 메모리가 할당됩니다. 과소 평가하면 미리 할당된 양을 초과하는 항목에 대해 일반 할당이 사용됩니다.
예시
// 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_ERR
nSelect
목록의 항목 수보다 크거나 선택 영역을 지우는 -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_ERR
CBS_DROPDOWNLIST
있거나 목록 상자가 없는 경우 CComboBox
입니다.
설명
위치는 0부터 시작합니다. 편집 컨트롤의 첫 번째 문자를 선택하려면 시작 위치를 0으로 지정합니다. 끝 위치는 선택할 마지막 문자 바로 뒤에 있는 문자에 대한 위치입니다. 예를 들어 편집 컨트롤의 처음 네 문자를 선택하려면 시작 위치 0과 끝 위치 4를 사용합니다.
참고 항목
이 함수는 Windows ComboBoxEx
컨트롤에서 지원되지 않습니다. 이 컨트롤에 대한 자세한 내용은 Windows SDK의 컨트롤을 참조 ComboBoxEx
하세요.
예시
CComboBox::GetEditSel
에 대한 예를 참조하세요.
CComboBox::SetExtendedUI
멤버 함수를 SetExtendedUI
호출하여 기본 사용자 인터페이스 또는 스타일이 있는 콤보 상자의 확장된 사용자 인터페이스를 CBS_DROPDOWN
CBS_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
목록 항목의 높이 또는 콤보 상자의 편집 컨트롤(또는 정적 텍스트) 부분의 높이를 설정할지 여부를 지정합니다.
콤보 상자에 스타일 nIndex
이 CBS_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
수업