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

Especifica una lista de imágenes que contiene imágenes de botón para una barra de herramientas incrustada en una imagen en miniatura de una ventana en un control flotante del botón de la barra de tareas.

Sintaxis

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

Parámetros

[in] hwnd

Tipo: HWND

Identificador de la ventana cuya representación en miniatura contiene la barra de herramientas que se va a actualizar. Este identificador debe pertenecer al proceso de llamada.

[in] himl

Tipo: HIMAGELIST

Identificador de la lista de imágenes que contiene todas las imágenes de botón que se van a usar en la barra de herramientas.

Valor devuelto

Tipo: HRESULT

Si este método se realiza correctamente, devuelve S_OK. De lo contrario, devuelve un código de error de HRESULT.

Comentarios

Las aplicaciones deben proporcionar estas imágenes de botón:

  • El botón en su estado activo predeterminado.
  • Imágenes adecuadas para su uso con pantallas de valores altos de ppp (puntos por pulgada).

Las imágenes deben ser de 32 bits y de dimensiones GetSystemMetrics(SM_CXICON) x GetSystemMetrics(SM_CYICON). La propia barra de herramientas proporciona objetos visuales para los estados de clic, deshabilitado y mantener el puntero sobre un botón.

Ejemplos

En el ejemplo siguiente se muestra cómo crear una barra de herramientas en miniatura con dos botones cuyas imágenes proceden de una lista de imágenes.


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 compatible Windows 7 [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2008 R2 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado shobjidl_core.h (include Shobjidl.h)
Library Explorerframe.lib
Archivo DLL Explorerframe.dll

Consulte también

ITaskbarList

ITaskbarList2

ITaskbarList3

ITaskbarList3::ThumbBarAddButtons

ITaskbarList3::ThumbBarUpdateButtons

Extensiones de la barra de tareas