Usando imagem listas com controles de cabeçalho

Itens de cabeçalho tem a capacidade de exibir uma imagem dentro de um item de cabeçalho.Essa imagem, armazenada em uma lista de imagens associado é 16 x 16 pixels e tem sistema autônomo mesmas características das 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 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 imagem de lista ()m_pHdrImages).

Para exibir uma imagem em um item de cabeçalho

  1. Criar uma nova lista de imagem (ou usar um objeto de lista de imagem existente) usando o CImageList construtor, armazenar o ponteiro resultante.

  2. Inicializar o novo objeto de lista de imagem chamando CImageList::criar.O código a seguir é um exemplo dessa telefonar.

    m_ListImageList.Create(16, 16, ILC_COLOR, 2, 2);
    
  3. 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));
    
  4. Associar o imagem lista com o controle de cabeçalho com uma telefonar para CHeaderCtrl::SetimagemList.

  5. Modifica o item de cabeçalho para exibir uma imagem da lista de imagem associados.O exemplo a seguir atribui a primeira imagem de 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 usado, consulte o pertinentes CHeaderCtrl.

Observação:

É possível ter vários controles que usam o mesmo imagem lista.Por exemplo, em um controle de exibição de lista padrão, há co ULD ser uma lista de imagens (de 16 x 16 pixels imagens) usada por ambos os a exibição do ícone pequeno de um controle de exibição de lista e os itens de cabeçalho do controle de exibição de lista.

Consulte também

Referência

Usando CHeaderCtrl