Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Показывает, включает, отключает или скрывает кнопки на панели инструментов эскизов в соответствии с текущим состоянием окна. Панель инструментов эскизов — это панель инструментов, внедренная в эскиз окна в всплывающем элементе кнопки панели задач.
Синтаксис
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 .
Замечания
Так как существует ограниченный объем пространства, в котором отображаются эскизы, а также постоянно меняющееся количество отображаемых эскизов, приложения не гарантируют определенный размер панели инструментов. Если отображаемое пространство недостаточно, при необходимости кнопки на панели инструментов усечены справа налево. Таким образом, приложение должно определять приоритеты команд, связанных с его кнопками, чтобы убедиться, что они имеют наивысший приоритет слева и поэтому, по крайней мере, скорее всего, будут усечены.
Панели инструментов эскизов отображаются только при отображении эскизов на панели задач. Например, если кнопка панели задач представляет группу с более открытыми окнами, чем есть место для отображения эскизов, пользовательский интерфейс возвращается в устаревшее меню, а не эскизы.
Доступность
Сведения о специальных возможностях в изображениях кнопок на панели пальца см. в разделе "Примечания" в ThumbBarSetImageList.
Примеры
В следующем примере показано, как использовать ThumbBarUpdateButtons для изменения текста и изображения на существующей кнопке на панели эскизов на расширенной панели задач.
HRESULT UpdateThumbBarButton(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.
THUMBBUTTON 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 |
| Header | shobjidl_core.h (include Shobjidl.h) |
| Library | Explorerframe.lib |
| DLL | Explorerframe.dll |
См. также
ITaskbarList3::ThumbBarSetImageList