ITaskbarList3::ThumbBarUpdateButtons メソッド (shobjidl_core.h)

ウィンドウの現在の状態で必要に応じて、サムネイル ツール バーのボタンを表示、有効化、無効化、または非表示にします。 サムネイル ツール バーは、タスク バー ボタンポップアップのウィンドウのサムネイル画像に埋め込まれたツール バーです。

構文

HRESULT ThumbBarUpdateButtons(
  [in] HWND          hwnd,
  [in] UINT          cButtons,
  [in] LPTHUMBBUTTON pButton
);

パラメーター

[in] hwnd

型: HWND

サムネイル表示にツール バーが含まれているウィンドウのハンドル。

[in] cButtons

型: UINT

pButton が指す配列で定義されているボタンの数。 使用できるボタンの最大数は 7 です。 この配列には、更新中の既存のボタンを表す構造体のみが含まれます。

[in] pButton

種類: LPTHUMBBUTTON

THUMBBUTTON 構造体の配列へのポインター。 各 THUMBBUTTON は 、個々のボタンを定義します。 ボタンが既に存在する ( iId 値が既に定義されている) 場合、その既存のボタンは 構造体に指定された情報で更新されます。

戻り値

型: HRESULT

このメソッドは、成功すると S_OK を返します。 そうでない場合は、HRESULT エラー コードを返します。

注釈

サムネイルを表示する領域が限られているだけでなく、表示するサムネイルの数も絶えず変化するため、アプリケーションでは特定のツール バー サイズが保証されません。 表示領域が小さい場合、ツール バーのボタンは、必要に応じて右から左に切り捨てられます。 そのため、アプリケーションでは、最も優先度の高いコマンドが左側にあり、切り捨てられる可能性が最も低いことを確認するために、そのボタンに関連付けられているコマンドに優先順位を付ける必要があります。

サムネイル ツール バーは、タスク バーにサムネイルが表示されている場合にのみ表示されます。 たとえば、タスク バー ボタンが、サムネイルを表示するスペースよりもウィンドウが開いているグループを表している場合、UI はサムネイルではなくレガシ メニューに戻ります。

次の例は、 ThumbBarUpdateButtons を使用して、拡張タスク バーのサムネイル ツール バーにある既存のボタンのテキストと画像を変更する方法を示しています。

HRESULT UpdateThumbarButton(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.
    THUMBBUTON 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;
}

要件

要件
サポートされている最小のクライアント Windows 7 [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 R2 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー shobjidl_core.h (Shobjidl.h を含む)
Library Explorerframe.lib
[DLL] Explorerframe.dll

こちらもご覧ください

ITaskbarList

ITaskbarList2

ITaskbarList3

ITaskbarList3::ThumbBarAddButtons

ITaskbarList3::ThumbBarSetImageList

タスク バーの拡張機能