개별 항목에 대 한 이미지 설정
다양 한 유형의 확장된 combo box 항목으로 사용 되는 이미지의 값에 의해 결정 됩니다의 iImage, iSelectedImage, 및 iOverlay 의 멤버는 COMBOBOXEXITEM 구조.각 값에 연결 된 이미지 목록 컨트롤에에서 있는 이미지의 인덱스입니다.기본적으로 이러한 멤버는 컨트롤에 없는 항목에 대 한 이미지를 표시 하려면 0으로 설정 됩니다.특정 항목에 대 한 이미지를 사용 하려는 경우 구조에 따라 콤보 상자 항목을 삽입할 때나 기존 콤보 상자 항목을 수정 하 여 수정 하면 됩니다.
새 항목에 대 한 이미지 설정
새 항목을 삽입 하는 경우 초기화는 iImage, iSelectedImage, 및 iOverlay 구조체 멤버를 적절 한 값을 사용 하 고 다음 항목에 대 한 호출을 삽입 CComboBoxEx::InsertItem.
새 확장된 콤보 상자 항목을 삽입 하는 예제 (cbi) 확장된 combo box 컨트롤에 (m_comboEx), 세 상태 이미지의 인덱스를 제공 합니다.
COMBOBOXEXITEM cbi = {0};
CString str;
int nItem;
cbi.mask = CBEIF_IMAGE | CBEIF_INDENT | CBEIF_OVERLAY |
CBEIF_SELECTEDIMAGE | CBEIF_TEXT;
cbi.iItem = 0;
cbi.pszText = _T("Item 0");
cbi.iImage = 0;
cbi.iSelectedImage = 1;
cbi.iOverlay = 2;
cbi.iIndent = (0 & 0x03); //Set indentation according
//to item position
nItem = m_ComboBoxEx.InsertItem(&cbi);
ASSERT(nItem == 0);
기존 항목에 대 한 이미지 설정
기존 항목을 수정 하는 경우 작업할 필요가 마스크 의 멤버는 COMBOBOXEXITEM 구조.
이미지를 사용 하려면 기존 항목을 수정 하려면
선언 된 COMBOBOXEXITEM 구조 및 설정의 마스크 데이터 멤버의 값에 수정에 관심.
이 구조를 사용 하 여 호출을 확인 CComboBoxEx::GetItem.
수정에 마스크, iImage, 및 iSelectedImage 적절 한 값을 사용 하 여 멤버를 새로 반환 된 구조.
호출 CComboBoxEx::SetItem, passing 수정 된 구조에서입니다.
다음 예제에서는 셋째 확장된 combo box 항목의 선택 및 선택 되지 않은 이미지를 바꾸어이 절차를 보여 줍니다.
COMBOBOXEXITEM cbi = {0};
int iImageTemp;
cbi.mask = CBEIF_IMAGE | CBEIF_SELECTEDIMAGE;
cbi.iItem = 0;
m_ComboBoxEx.GetItem(&cbi);
iImageTemp = cbi.iImage;
cbi.iImage = cbi.iSelectedImage;
cbi.iSelectedImage = iImageTemp;
VERIFY(m_ComboBoxEx.SetItem(&cbi));