Compartilhar via


configuração o imagens para um item individual

Os diferentes tipos de imagens usados pelo item da caixa de combinação estendidos são determinados pelos valores no iImage, iSelectedImage, and iOverlay o membrosCOMBOBOXEXITEM estrutura.Cada valor é o índice de uma imagem na lista do controle de imagem associados.Por padrão, esses membros estão definidos como 0, fazendo com que o controle para não exibir nenhuma imagem do item.Se você quiser usar imagens para um item específico, você pode modificar a estrutura da mesma forma, ao inserir o item de caixa de combinação ou modificando um item de caixa de combinação existente.

configuração na imagem para um novo item

Se você estiver inserindo um novo item, inicializar o iImage, iSelectedImage, and iOverlay estruturar os membros com valores apropriados e, em seguida, inserir o item com uma telefonar para CComboBoxEx::InsertItem.

O exemplo a seguir insere um novo item de caixa de combinação estendido (cbi) na caixa de combinação estendido de controle ()m_comboEx), fornecendo índices para todos os três estados de imagem:

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);

Configurando a imagem de um item existente

Se você estiver modificando um item existente, você precisará trabalhar com o máscara membro umCOMBOBOXEXITEM estrutura.

Para modificar um item existente para usar imagens

  1. Declarar um COMBOBOXEXITEM estrutura e conjunto o máscara membro de dados aos valores você está interessado em modificar.

  2. Usando essa estrutura, fazer uma telefonar para CComboBoxEx::GetItem.

  3. Modificar o máscara, iImage, e iSelectedImage membros de estrutura recém-retornado, usando os valores apropriados.

  4. Fazer uma telefonar para CComboBoxEx::SetItem, passando na estrutura de modificação.

O exemplo a seguir demonstra esse procedimento, trocando as imagens selecionadas e não selecionadas do terceiro item da caixa de combinação estendido:

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));

Consulte também

Conceitos

Controles (MFC)

Referência

Usando CComboBoxEx