Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
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
Tipo: 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 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
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 ter 32 bits e das dimensões GetSystemMetrics(SM_CXICON) x GetSystemMetrics(SM_CYICON). A barra de ferramentas em si fornece visuais para os estados clicados, desabilitados e focalizados de um botão.
Accessibility
As imagens de botão fornecidas na estrutura THUMBBUTTON indexada da lista de imagens podem ser usadas em uma variedade de cenários de personalização do usuário. Um exemplo comum é modos de cores claras e escuras e temas de contraste para acessibilidade. Escolha os ativos que permanecem visualmente claros em todos esses contextos.
Você pode lidar com isso de duas maneiras:
- Registre-se para eventos de alteração de tema (consulte Suporte a temas escuros e claros em aplicativos Win32) e botões de atualização quando os temas forem alterados.
- Use ativos com contraste interno, como glifos com preenchimentos brancos sólidos e contornos pretos sólidos.
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 AddThumbBarButtons(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;
THUMBBUTTON 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;
}
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
ITaskbarList3::ThumbBarAddButtons