Freigeben über


ITaskbarList3::ThumbBarSetImageList-Methode (shobjidl_core.h)

Gibt eine Bildliste an, die Schaltflächenbilder für eine Symbolleiste enthält, die in ein Miniaturbild eines Fensters in einem Flyout für die Taskleistenschaltfläche eingebettet ist.

Syntax

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

Die Parameter

[in] hwnd

Typ: HWND-

Das Handle des Fensters, dessen Miniaturansicht die zu aktualisierende Symbolleiste enthält. Dieses Handle muss zum aufrufenden Prozess gehören.

[in] himl

Typ: HIMAGELIST

Das Handle der Bildliste, die alle Schaltflächenbilder enthält, die in der Symbolleiste verwendet werden sollen.

Rückgabewert

Typ: HRESULT-

Wenn diese Methode erfolgreich ist, wird S_OK zurückgegeben. Andernfalls wird ein HRESULT-Fehlercode zurückgegeben.

Bemerkungen

Anwendungen müssen diese Schaltflächenbilder bereitstellen:

  • Die Schaltfläche im Standardmäßigen aktiven Zustand.
  • Bilder, die für die Verwendung mit Anzeige mit hohem DPI-Wert (Dots per Inch) geeignet sind.

Bilder müssen 32-Bit- und dimensionen GetSystemMetrics(SM_CXICON) x GetSystemMetrics(SM_CYICON) sein. Die Symbolleiste selbst stellt visuelle Elemente für klickte, deaktivierte und hover-Zustände einer Schaltfläche bereit.

Accessibility

Die in der THUMBBUTTON-Struktur indizierten Schaltflächenbilder aus der Bildliste können in einer Vielzahl von Benutzerpersonalisierungsszenarien verwendet werden. Ein gängiges Beispiel sind helle und dunkle Farbmodi und Kontrastdesigns für Barrierefreiheit. Wählen Sie Ressourcen aus, die in all diesen Kontexten visuell klar bleiben.

Sie können dies auf zwei Arten behandeln:

  • Registrieren Sie sich für Designänderungsereignisse (siehe Unterstützen von Dunklen und hellen Designs in Win32-Apps) und aktualisieren Sie Schaltflächen, wenn Sich Designs ändern.
  • Verwenden Sie Ressourcen mit integriertem Kontrast, z. B. Glyphen mit vollweißen Füllungen und einfarbigen schwarzen Konturen.

Examples

Das folgende Beispiel zeigt, wie Sie eine Miniaturansichtssymbolleiste mit zwei Schaltflächen erstellen, deren Bilder aus einer Bildliste stammen.


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;
}

Anforderungen

Anforderung Wert
Mindestens unterstützter Client Windows 7 [nur Desktop-Apps]
Mindestanforderungen für unterstützte Server Windows Server 2008 R2 [nur Desktop-Apps]
Zielplattform Fenster
Header shobjidl_core.h (include Shobjidl.h)
Library Explorerframe.lib
DLL Explorerframe.dll

Siehe auch

ITaskbarList

ITaskbarList2

ITaskbarList3

ITaskbarList3::ThumbBarAddButtons

ITaskbarList3::ThumbBarUpdateButtons

Taskleistenerweiterungen