Компонент TTaskBar появился впервые в Delphi XE7. Компонент TTaskBar позволяет использовать возможности Windows 7 и выше при работе с иконкой вашего приложения в списке задач. Например, Вы можете отображать прогресс какой-либо задачи, сигнализировать об ошибке и т.д.
| Основная информация по компоненту | ||
| Вкладка палитры компонентов | Win32 | |
| Исходник официального примера и документация | DocWiki | |
Демонстрационное приложение показывает как использовать основные возможности компонента TTaskBar в Delphi.
Внешний вид демонстрационного приложения представлен на рисунке ниже:
В демонстрационном приложении Вы можете изменить внешний вид (цвет) полоски прогресса в панели задач, «нарисовать» на иконке своего приложения один из трех доступных значков, добавить до трех кнопок в панель управления.
Использование компонента
Используя компонент TTaskBar в Delphi, вы можете:
- Показать/обновить ход выполнения какой-либо операции на кнопке панели задач
- Использовать несколько различных цветовых состояний, представляющих связанный индикатор выполнения (нормальный вид, ошибка, пауза)
- Наложить дополнительно изображение (иконку) на значок панели задач приложения
- Добавить несколько кнопок в предварительном просмотре миниатюр приложения на панели задач.
Индикатор хода выполнения операции может иметь разные цвета в зависимости от состояния приложения. Вы можете установить цвет, используя свойство ProgressState:
| ProgressState | Вид иконки |
| None | |
| Normal | |
| Error | |
| Paused | |
| Indeterminate |
Вы также можете добавить кнопки панели задач, которые отображаются, когда пользователь наводит указатель мыши на значок приложения на панели задач Windows:
Или вы можете определить список переходов (jump list), который обеспечивает быстрый доступ к задачам вашего приложения, недавним файлам и всему остальному, что вы хотите:
Демонстрационный пример
Пример демонстрирует работу с компонентом TTaskBar в Delphi. Так, например, чтобы наложить на кнопку вашего приложений в панели задач дополнительную иконку (OverlayIcon) используется следующий обработчик OnClick для иконок, расположенных на главной форме приложения:
procedure TForm1.Image1Click(Sender: TObject); begin Taskbar1.OverlayIcon := Timage(sender).Picture.Icon; end;
Отображение прогресса выполнения осуществляется следующим образом:
procedure TForm1.TrackBar1Change(Sender: TObject); begin Taskbar1.ProgressMaxValue := TrackBar1.Max; Taskbar1.ProgressValue := TrackBar1.Position; end;
А смена внешнего вида полоски прогресса выполняется так:
procedure TForm1.ComboBox1Change(Sender: TObject); begin case ComboBox1.itemindex of 0: Taskbar1.ProgressState := TTaskBarProgressState.None; 1: Taskbar1.ProgressState := TTaskBarProgressState.Normal; 2: Taskbar1.ProgressState := TTaskBarProgressState.Indeterminate; 3: Taskbar1.ProgressState := TTaskBarProgressState.Error; 4: Taskbar1.ProgressState := TTaskBarProgressState.Paused; end; end;
На рисунке ниже представлен пример иконки работающего демонстрационного приложения с оверлеем и тремя кнопками под миниатюрой приложения:
При подготовке статьи использовалась информация со следующих ресурсов:
- Официальный репозиторий демонстрационных примеров Delphi на SourceForge
- Документация по компоненту на сайте Embarcadero
- Информация по работе с компонентом TTaskBar на сайте Embarcadero




