ITaskbarList3::ThumbBarSetImageList 方法 (shobjidl_core.h)
指定影像清單,其中包含工作列按鈕飛出視窗中視窗縮圖影像內嵌工具列的按鈕影像。
語法
HRESULT ThumbBarSetImageList(
[in] HWND hwnd,
[in] HIMAGELIST himl
);
參數
[in] hwnd
類型: HWND
視窗的控制碼,其縮圖標記法包含要更新的工具列。 這個控制碼必須屬於呼叫進程。
[in] himl
類型: HIMAGELIST
影像清單的控制碼,其中包含工具列中要使用的所有按鈕影像。
傳回值
類型: HRESULT
如果此方法成功,則會傳回 S_OK。 否則,它會傳回 HRESULT 錯誤碼。
備註
應用程式必須提供這些按鈕影像:
- 處於預設作用中狀態的按鈕。
- 適合與高 DPI (點) 顯示器搭配使用的影像。
影像必須是 32 位且維度為 GetSystemMetrics (SM_CXICON) x GetSystemMetrics (SM_CYICON) 。 工具列本身會提供按鈕已點選、停用和暫留狀態的視覺效果。
範例
下列範例示範如何建立縮圖工具列,其中包含影像來自影像清單的兩個按鈕。
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;
}
規格需求
最低支援的用戶端 | Windows 7 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2008 R2 [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | shobjidl_core.h (包含 Shobjidl.h) |
程式庫 | Explorerframe.lib |
Dll | Explorerframe.dll |
另請參閱
ITaskbarList3::ThumbBarAddButtons