Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Указывает список изображений, содержащий изображения кнопки для панели инструментов, внедренной в эскиз окна в всплывающем элементе кнопки панели задач.
Синтаксис
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). Сама панель инструментов предоставляет визуальные элементы для состояний нажатия, отключения и наведения указателя мыши.
Доступность
Изображения кнопок, предоставленные в структуре THUMBBUTTON , индексированные из списка изображений, можно использовать в различных сценариях персонализации пользователей. Типичным примером является светлый и темный цветовые режимы и темы контрастности для специальных возможностей. Выберите ресурсы, которые остаются визуально понятными во всех этих контекстах.
Это можно сделать двумя способами:
- Зарегистрируйтесь для событий изменения темы (см. раздел "Поддержка темных и светлых тем" в приложениях Win32) и кнопки обновления при изменении тем.
- Используйте ресурсы со встроенным контрастом, например глифы с твердыми белыми заливками и твердыми черными контурами.
Примеры
В следующем примере показано, как создать панель инструментов эскизов с двумя кнопками, изображения которых приходят из списка изображений.
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;
}
Требования
| Требование | Ценность |
|---|---|
| Минимальный поддерживаемый клиент | Windows 7 [только настольные приложения] |
| минимальный поддерживаемый сервер | Windows Server 2008 R2 [только классические приложения] |
| целевая платформа | Windows |
| Header | shobjidl_core.h (include Shobjidl.h) |
| Library | Explorerframe.lib |
| DLL | Explorerframe.dll |
См. также
ITaskbarList3::ThumbBarAddButtons