Método ITaskbarList3::ThumbBarSetImageList (shobjidl_core.h)

Especifica uma lista de imagens que contém imagens de botão para uma barra de ferramentas inserida em uma imagem em miniatura de uma janela em um submenu de botão da barra de tarefas.

Sintaxe

HRESULT ThumbBarSetImageList(
  [in] HWND       hwnd,
  [in] HIMAGELIST himl
);

Parâmetros

[in] hwnd

Digite: HWND

O identificador da janela cuja representação em miniatura contém a barra de ferramentas a ser atualizada. Esse identificador deve pertencer ao processo de chamada.

[in] himl

Tipo: HIMAGELIST

O identificador da lista de imagens que contém todas as imagens de botão a serem usadas na barra de ferramentas.

Valor retornado

Tipo: HRESULT

Se o método for bem-sucedido, ele retornará S_OK. Caso contrário, ele retornará um código de erro HRESULT.

Comentários

Os aplicativos devem fornecer estas imagens de botão:

  • O botão em seu estado ativo padrão.
  • Imagens adequadas para uso com exibições de alto dpi (pontos por polegada).

As imagens devem ser de 32 bits e das dimensões GetSystemMetrics(SM_CXICON) x GetSystemMetrics(SM_CYICON). A própria barra de ferramentas fornece visuais para os estados clicados, desabilitados e focalizados de um botão.

Exemplos

O exemplo a seguir mostra como criar uma barra de ferramentas em miniatura com dois botões cujas imagens vêm de uma lista de imagens.


HRESULT AddThumbarButtons(HWND hwnd, HIMAGELIST himl, HIMAGELIST himlHot)
{
    // Define an array of two buttons. These buttons provide images through an 
    // image list and also provide tooltips.
    DWORD dwMask = THB_BITMAP | THB_TOOLTIP | THB_FLAGS;
    
    THUMBBUTON thbButtons[2];
    thbButtons[0].dwMask = dwMask;
    thbButtons[0].iId = 0;
    thbButtons[0].iBitmap = 0;
    thbButtons[0].pszTip = TEXT("Button 1");
    thbButtons[0].dwFlags = THBF_DISMISSONCLICK;

    dwMask = THB_BITMAP | THB_TOOLTIP;
    thbButtons[1].dwMask = dwMask;
    thbButtons[1].iId = 1;
    thbButtons[1].iBitmap = 1;
    thbButtons[1].pszTip = TEXT("Button 2");
    
    // Create an instance of ITaskbarList3
    ITaskBarList3 *ptbl;
    HRESULT hr = CoCreateInstance(CLSID_TaskbarList, 
                                  NULL, 
                                  CLSCTX_INPROC_SERVER, 
                                  IID_PPV_ARGS(&ptbl);

    if (SUCCEEDED(hr))
    {
        // Declare the image list that contains the button images.
        hr = ptbl->ThumbBarSetImageList(hwnd, himl);
        
        if (SUCCEEDED(hr))
        {
            // Attach the toolbar to the thumbnail.
            hr = ptbl->ThumbBarAddButtons(hwnd, ARRAYSIZE(thbButtons), &thbButtons);
        }
        ptbl->Release();
    }
    return hr;
}

Requisitos

   
Cliente mínimo com suporte Windows 7 [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2008 R2 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho shobjidl_core.h (inclua Shobjidl.h)
Biblioteca Explorerframe.lib
DLL Explorerframe.dll

Confira também

ITaskbarList

ITaskbarList2

Itaskbarlist3

ITaskbarList3::ThumbBarAddButtons

ITaskbarList3::ThumbBarUpdateButtons

Extensões da barra de tarefas