Usando imagem listas com controles de cabeçalho
Itens de cabeçalho têm a capacidade de exibir uma imagem em um item de cabeçalho.Essa imagem, armazenada em uma lista de imagem associada é 16 x 16 pixels e tem as mesmas características de imagens de ícone usadas em um controle de exibição de lista.Para implementar com êxito esse comportamento, primeiro criar e inicializar a lista de imagens, associar a lista de controle de cabeçalho e, em seguida, modificar os atributos do item de cabeçalho que irá exibir a imagem.
O procedimento a seguir ilustra os detalhes, usando um ponteiro para um controle de cabeçalho (m_pHdrCtrl) e um ponteiro para uma lista de imagem (m_pHdrImages).
Para exibir uma imagem em um item de cabeçalho
Criar uma nova lista de imagem (ou usar um objeto de lista de imagem existente) usando o CImageList construtor, armazenar o ponteiro resultante.
Inicializar o novo objeto de lista de imagem chamando CImageList::Create.O código a seguir é um exemplo desta chamada.
m_ListImageList.Create(16, 16, ILC_COLOR, 2, 2);
Adicione imagens para cada item de cabeçalho.O código a seguir adiciona duas imagens predefinidas.
m_ListImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON1)); m_ListImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON2));
Associar a lista de imagens com o controle de cabeçalho com uma chamada para CHeaderCtrl::SetImageList.
Modifica o item de cabeçalho para exibir uma imagem na lista de imagem associados.O exemplo a seguir atribui a primeira imagem do m_phdrImages, para o primeiro item de cabeçalho, m_pHdrCtrl.
HDITEM curItem = {0}; pHeaderCtrl->SetImageList(&m_ListImageList); curItem.mask = HDI_TEXT | HDI_FORMAT | HDI_WIDTH | HDI_IMAGE; curItem.pszText = _T("Column 1"); curItem.cxy = 100; curItem.iImage = 0; curItem.fmt = HDF_LEFT | HDF_STRING | HDF_IMAGE; pHeaderCtrl->InsertItem(0, &curItem);
Para obter informações detalhadas sobre os valores de parâmetro usados, consulte o pertinentes CHeaderCtrl.
Observação |
---|
É possível ter vários controles usando a mesma lista de imagem.Por exemplo, um controle de exibição de lista padrão, pode haver uma lista de imagem (de imagens de 16 x 16 pixels) usada pela exibição de ícone pequeno do controle de exibição de lista e os itens de cabeçalho do controle de exibição de lista. |