Partilhar via


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

Mostra, habilita, desabilita ou oculta botões em uma barra de ferramentas em miniatura, conforme exigido pelo estado atual da janela. Uma barra de ferramentas em miniatura é 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 ThumbBarUpdateButtons(
  [in] HWND          hwnd,
  [in] UINT          cButtons,
  [in] LPTHUMBBUTTON pButton
);

Parâmetros

[in] hwnd

Tipo: HWND

O identificador da janela cuja representação em miniatura contém a barra de ferramentas.

[in] cButtons

Tipo: UINT

O número de botões definidos na matriz apontada por pButton. O número máximo de botões permitidos é 7. Essa matriz contém apenas estruturas que representam botões existentes que estão sendo atualizados.

[in] pButton

Tipo: LPTHUMBBUTTON

Um ponteiro para uma matriz de estruturas THUMBBUTTON . Cada THUMBBUTTON define um botão individual. Se o botão já existir (o valor iId já está definido), esse botão existente será atualizado com as informações fornecidas na estrutura.

Valor de retorno

Tipo: HRESULT

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

Observações

Como há uma quantidade limitada de espaço para exibir miniaturas, bem como um número constante de miniaturas a serem exibidas, os aplicativos não têm garantia de um tamanho específico da barra de ferramentas. Se o espaço de exibição for baixo, os botões na barra de ferramentas serão truncados da direita para a esquerda, conforme necessário. Portanto, um aplicativo deve priorizar os comandos associados a seus botões para garantir que os de maior prioridade sejam à esquerda e, portanto, sejam menos propensos a serem truncados.

As barras de ferramentas em miniatura são exibidas somente quando miniaturas estão sendo exibidas na barra de tarefas. Por exemplo, se um botão de barra de tarefas representar um grupo com janelas mais abertas do que há espaço para exibir miniaturas, a interface do usuário será revertida para um menu herdado em vez de miniaturas.

Accessibility

Para obter informações sobre acessibilidade em imagens de botão de barra de polegar, consulte a seção Comentários de ThumbBarSetImageList.

Exemplos

O exemplo a seguir mostra como usar ThumbBarUpdateButtons para alterar o texto e a imagem em um botão existente em uma barra de ferramentas em miniatura na barra de tarefas estendida.

HRESULT UpdateThumbBarButton(HWND hwnd)
{
    // Define a single structure for the button to update. The ID is that
    // of an existing button, so the other information (bitmap index and 
    // tooltip) overwrites the existing values, updating the button.
    THUMBBUTTON thbButton;
    thbButton.dwMask = THB_BITMAP | THB_TOOLTIP;
    thbButtons[0].iId = 1;
    thbButton.iBitmap = 3;
    thbButton.pszTip = TEXT("Different Text");
    
    // Create an instance of ITaskbarList3
    ITaskBarList3 *ptbl;
    HRESULT hr = CoCreateInstance(CLSID_TaskbarList, 
                                  NULL, 
                                  CLSCTX_INPROC_SERVER, 
                                  IID_PPV_ARGS(&ptbl);

    if (SUCCEEDED(hr))
    {
        // Update the toolbar. In this case, only the single button is updated.
        hr = ptbl->ThumbBarUpdateButtons(hwnd, 1, &thbButton);
        ptbl->Release();
    }
    return hr;
}

Requirements

Requirement Value
Cliente mínimo suportado Windows 7 [somente aplicativos da área de trabalho]
Servidor mínimo compatível Windows Server 2008 R2 [somente aplicativos da área de trabalho]
da Plataforma de Destino Windows
Header shobjidl_core.h (inclua Shobjidl.h)
Library Explorerframe.lib
de DLL Explorerframe.dll

Consulte também

ITaskbarList

ITaskbarList2

ITaskbarList3

ITaskbarList3::ThumbBarSetImageList

ITaskbarList3::ThumbBarAddButtons

Extensões da barra de tarefas