уважаемые посетители блога, если Вам понравилась, то, пожалуйста, помогите автору с лечением. Подробности тут.

TActivityIndicator (индикатор активности) — это компонент, представляющий из себя анимированный графический объект и, показывающий, что приложение выполняет некоторую работу (активность).
Для компонента можно установить такие свойства как цвет, размер, тип, скорость вращения и т.д.

Основная информация по компоненту
Вкладка палитры компонентов Windows 10
Исходник официального примера и документация SourceForge  DocWiki
В какой версии Delphi появился Delphi 10 Seattle

В приложении демонстрируется работа TActivityIndicator и показывается, каким образом можно изменять его свойства.

Тестовое приложение использует следующие элементы управления:

  • AI: Индикатор активности.
  • grpIndicatorSize: устанавливает размер индикатора активности.
  • grpIndicatorColor: устанавливает цвет индикатора активности.
  • grpIndicatorType: устанавливает тип индикатора активности.
  • trkFrameDelay: устанавливает задержку кадра индикатора активности.
  • chkAnimate: переключает свойство Animate индикатора активности.
  • cbxFormColor: устанавливает цвет формы, если текущий стиль — Windows.
  • cbxVclStyles: комбинированное поле, которое позволяет вам изменить стиль приложения.

Внешний вид демонстрационного приложения представлен на рисунке ниже:

Описание основных свойств компонента

IndicatorSize

Это свойство изменяет размер индикатора. Описание:

IndicatorSize: TActivityIndicatorSize;
type
  TActivityIndicatorSize = (aisSmall, aisMedium, aisLarge, aisXLarge);
  • aisSmall — размер индикатора 24×24 px.
  • aisMedium — размер индикатора 32×32 px (используется по умолчанию).
  • aisLarge  — размер индикатора 48×48 px.
  • aisXLarge  — размер индикатора 64×64 px.

IndicatorType

Тип индикатора. Описание:

IndicatorType: TActivityIndicatorType;
type
  TActivityIndicatorType = (aitMomentumDots, aitRotatingSector, aitSectorRing);
  • aitMomentumDots: по умолчанию. Традиционная Windows 8/10 вращающаяся последовательность точек.
  • aitRotatingSector: чередующиеся сектора сегментированного кольца. Подсвечиваются последовательно для указания активности.
  • aitSectorRing: секторы сегментированного кольца подсвечиваются последовательно до тех пор, пока кольцо не будет полностью подсвечено. При следующем проходе каждый сектор отображается в затемненном состоянии.

IndicatorColor

Изменяет цвет индикатора. Всего доступно две цветовых схемы для TActivityIndicator. Описание:

IndicatorColor: TActivityIndicatorColor;
type
  TActivityIndicatorColor = (aicBlack, aicWhite);
  • aicBlack: по умолчанию. Элементы индикатора черные
  • aicWhite: элементы индикатора белые.

FrameDelay

Задержка кадра. Чем меньше задержка, тем быстрее индикатор «крутится». Описание:

FrameDelay: Word;

Animate

Включает/выключает анимацию индикатора. Описание:

Animate: Boolean;

Демонстрационный пример

В зависимости от выбранных настроек, приложение демонстрирует изменение различных свойств компонента TActivityIndicator.

Для того, чтобы индикатор начал показываться, необходимо переключить его свойство Animate в значение True.
Ниже представлен листинг кода из официального примера, показывающий изменение свойств IndicatorColor, IndicatorSize, IndicatorType и FrameDelay:

procedure TActivityIndicatorForm.grpIndicatorColorClick(Sender: TObject);
begin
  AI.IndicatorColor := TActivityIndicatorColor(grpIndicatorColor.ItemIndex);
end;
 
procedure TActivityIndicatorForm.grpIndicatorSizeClick(Sender: TObject);
begin
  AI.IndicatorSize := TActivityIndicatorSize(grpIndicatorSize.ItemIndex);
end;
 
procedure TActivityIndicatorForm.grpIndicatorTypeClick(Sender: TObject);
begin
  AI.IndicatorType := TActivityIndicatorType(grpIndicatorType.ItemIndex);
end;
 
procedure TActivityIndicatorForm.trkFrameDelayChange(Sender: TObject);
begin
  AI.FrameDelay := trkFrameDelay.Position * 10;
  lblFrameDelay.Caption := 'Frame Delay (' + IntToStr(AI.FrameDelay) + ')';
end;

Также, в примере, для большей наглядности демонстрации TActivityIndicator реализовано изменение стиля окна приложения. Вы можете самостоятельно зайти в опции проекта: Project — Options — Application Appearance — Custom Styles и выбрать стили, которые будет использовать демонстрационное приложение.

При запуске приложение в обработчике OnCreate главной формы выполняется код, заполняющий список cbxVclStyles:

procedure TActivityIndicatorForm.FormCreate(Sender: TObject);
var
  StyleName: string;
begin
  for StyleName in TStyleManager.StyleNames do
    cbxVclStyles.Items.Add(StyleName);
  cbxVclStyles.ItemIndex := cbxVclStyles.Items.IndexOf(TStyleManager.ActiveStyle.Name);
end;

На рисунке ниже представлен пример работающего приложения в котором выбран стиль «Light», которого нет изначально в демонстрационном приложении:

При подготовке стати использовалась информация со следующих ресурсов:

  1. Официальный репозиторий демострационных примеров Delphi на SourceForge
  2. Описание компонента и его свойств на сайте Embarcadero

уважаемые посетители блога, если Вам понравилась, то, пожалуйста, помогите автору с лечением. Подробности тут.