Метод ITaskbarList3::ThumbBarSetImageList (shobjidl_core.h)
Указывает список изображений, содержащий изображения кнопок для панели инструментов, внедренной в эскиз окна во всплывающем элементе кнопки панели задач.
Синтаксис
HRESULT ThumbBarSetImageList(
[in] HWND hwnd,
[in] HIMAGELIST himl
);
Параметры
[in] hwnd
Тип: HWND
Дескриптор окна, эскиз которого содержит панель инструментов для обновления. Этот дескриптор должен принадлежать вызывающей процедуре.
[in] himl
Тип: HIMAGELIST
Дескриптор списка изображений, содержащего все изображения кнопок, которые будут использоваться на панели инструментов.
Возвращаемое значение
Тип: HRESULT
Если этот метод завершается успешно, он возвращает S_OK. В противном случае возвращается код ошибки HRESULT .
Комментарии
Приложения должны предоставлять следующие образы кнопок:
- Кнопка в активном состоянии по умолчанию.
- Изображения, подходящие для использования с дисплеями с высоким разрешением на дюйм (точек на дюйм).
Изображения должны быть 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 |
Header | shobjidl_core.h (включая Shobjidl.h) |
Библиотека | Explorerframe.lib |
DLL | Explorerframe.dll |
См. также раздел
ITaskbarList3::ThumbBarAddButtons