Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
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
Declarar um COMBOBOXEXITEM estrutura e conjunto o máscara membro de dados aos valores você está interessado em modificar.
Usando essa estrutura, fazer uma telefonar para CComboBoxEx::GetItem.
Modificar o máscara, iImage, e iSelectedImage membros de estrutura recém-retornado, usando os valores apropriados.
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));