Compartilhar via


Mensagem TB_SETPRESSEDIMAGELIST

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

Parâmetros

wParam

O índice da lista de imagem. Se você usar apenas uma lista de imagens, defina esse parâmetro como zero. Consulte as Observações para obter detalhes sobre como usar várias listas de imagens.

lParam

Identificador para 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 pressionado 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_SETPRESSEDIMAGELIST 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_SETPRESSEDIMAGELIST tem consequências imprevisíveis.

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_SETPRESSEDIMAGELIST. 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 é a 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_SETPRESSEDIMAGELIST, 0, (LPARAM)ahiml[0]);
    SendMessage(hwndTB, TB_SETPRESSEDIMAGELIST, 1, (LPARAM)ahiml[1]);
    SendMessage(hwndTB, TB_SETPRESSEDIMAGELIST, 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 2008 [somente aplicativos da área de trabalho]
Cabeçalho
Commctrl.h

Confira também

Referência

TB_GETPRESSEDIMAGELIST

Outros recursos

MAKELONG