Usando listas de imagens com controles de cabeçalho
Itens de cabeçalho tem a capacidade de exibir uma imagem em um item de cabeçalho. Esta imagem, armazenada em uma lista associado à imagem, é de 16 x 16 pixels e tem as mesmas características que as imagens de ícones usados em um controle de exibição de lista. Para implementar com êxito esse comportamento, você deve primeiro criar e iniciar a lista da imagem, associa a lista com o controle de cabeçalho, e modificar os atributos do item de cabeçalho que exibirá a imagem.
O procedimento a seguir explica 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
Cria uma nova lista de imagem (ou use um objeto existente na lista de imagem) que utiliza o construtor de CImageList , o armazenamento do ponteiro resultante.
Inicializar o novo objeto da lista de imagem chamando CImageList::Create. O código a seguir é um exemplo dessa chamada.
m_ListImageList.Create(16, 16, ILC_COLOR, 2, 2);
Adicionar imagens para cada item do 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 imagem com o controle de cabeçalho com uma chamada a CHeaderCtrl::SetImageList.
Modifique o item do cabeçalho para exibir uma imagem na lista de imagem associado. O exemplo a seguir atribui a primeira imagem, de m_phdrImages, 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 CHeaderCtrlpertinentes.
Dica
É possível ter várias controles usando a mesma lista da imagem.Por exemplo, em um controle padrão da exibição de lista, poderá haver uma lista de imagem (16 x 16 pixels de imagens) usada pela exibição pequena de ícone de um controle de exibição de lista e os itens do cabeçalho da exibição de lista controlam.