Share via


Mensagem TB_SETIMAGELIST

Define a lista de imagens que a barra de ferramentas usa para exibir botões que estão em seu estado padrão.

Parâmetros

wParam

Versão 5.80. O índice da lista. Se você usar apenas uma lista de imagens ou uma versão anterior dos controles comuns, defina wParam como zero. Consulte Comentários para obter detalhes sobre como usar várias listas de imagens.

lParam

Manipule a lista de imagens a ser definida. Se esse parâmetro for NULL, nenhuma imagem será exibida nos botões.

Valor retornado

Retorna o identificador para a lista de imagens usada anteriormente para exibir botões em seu estado padrão ou NULL se nenhuma lista de imagens tiver sido definida anteriormente.

Comentários

Observação

Seu aplicativo é responsável por liberar a lista de imagens depois que a barra de ferramentas é destruída.

A mensagem TB_SETIMAGELIST não pode ser combinada com TB_ADDBITMAP. Ela também não pode ser usada com barras de ferramentas criadas com CreateToolbarEx, que chama TB_ADDBITMAP internamente. Quando você cria uma barra de ferramentas com CreateToolbarEx ou usa TB_ADDBITMAP para adicionar imagens, a barra de ferramentas gerencia a lista de imagens internamente. Tentar modificá-la com TB_SETIMAGELIST tem consequências imprevisíveis.

Com a versão 5.80 ou posterior dos controles comuns, as imagens de botão não precisam vir da mesma lista de imagens. Para usar várias listas de imagens para as imagens do botão de barra de ferramentas:

  1. Habilite várias listas de imagens enviando ao controle de barra de ferramentas uma mensagem CCM_SETVERSION com wParam (o número da versão) definido como 5.
  2. Para cada lista de imagens que você deseja usar, envie ao controle de barra de ferramentas uma mensagem TB_SETIMAGELIST. Defina wParam como um valor wParam definido pelo aplicativo que será usado para identificar a lista. Defina lParam para o identificador HIMAGELIST da lista.
  3. Para cada botão, defina o membro iBitmap da estrutura TBBUTTON do botão como MAKELONG(iIndex, iImageID). O valor iImageID é o ID da lista de imagens apropriada que foi definida na etapa dois. O valor iIndex é o índice da imagem específica dentro dessa lista.
  4. Adicione os botões enviando ao controle de barra de ferramentas uma mensagem TB_ADDBUTTONS.

O fragmento de código a seguir ilustra como adicionar cinco botões a uma barra de ferramentas, com imagens de três listas de imagens diferentes. O suporte para várias listas de imagens está habilitado com uma mensagem CCM_SETVERSION. As listas de imagens são então definidas e recebem IDs de 0-2. Os botões recebem imagens das listas de imagens da seguinte maneira:

  • O botão 0 é da lista de imagens zero (ahim[0]) com índice de 1.
  • O botão 1 é da lista de imagens um (ahim[1]) com um índice de 1.
  • O botão 2 é da lista de imagens dois (ahim[2]) com um índice de 1.
  • O botão 3 é da lista de imagens zero (ahim[0]) com um índice de 2.
  • O botão 4 é da lista de imagens um (ahim[1]) com um índice de 3.

Finalmente, os botões são adicionados ao controle de barra de ferramentas com uma mensagem TB_ADDBUTTONS.

//Enable multiple image lists
    SendMessage(hwndTB, CCM_SETVERSION, (WPARAM) 5, 0); 

    //Set the image lists and assign them IDs of 0-2
    SendMessage(hwndTB, TB_SETIMAGELIST, 0, (LPARAM)ahiml[0]);
    SendMessage(hwndTB, TB_SETIMAGELIST, 1, (LPARAM)ahiml[1]);
    SendMessage(hwndTB, TB_SETIMAGELIST, 2, (LPARAM)ahiml[2]);

    // Create the five buttons
    TBBUTTON rgtb[5];
    
    //... initialize the TBBUTTON structures as usual ...
    
    //Assign images to each button
    rgtb[0].iBitmap = MAKELONG(1, 0);
    rgtb[1].iBitmap = MAKELONG(1, 1);
    rgtb[2].iBitmap = MAKELONG(1, 2);
    rgtb[3].iBitmap = MAKELONG(2, 0);
    rgtb[4].iBitmap = MAKELONG(3, 1);

    // Add the five buttons to the toolbar control
    SendMessage(hwndTB, TB_ADDBUTTONS, 5, (LPARAM)(&rgtb);

Requisitos

Requisito Valor
Cliente mínimo com suporte
Windows Vista [somente aplicativos da área de trabalho]
Servidor mínimo com suporte
Windows Server 2003 [somente aplicativos da área de trabalho]
Cabeçalho
Commctrl.h

Confira também

MAKELONG