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

Компонент TToggleSwitch появился впервые в Delphi 10 Seattle и представляет собой переключатель (тумблер), аналогично TCheckBox, но с некоторыми дополнительными свойствами.

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

Демонстрационный пример показывает возможности компонента TToggleSwitch.

На главной форме демонстрационного приложения расположены следующие компоненты:

  • TB: TToggleSwitch.
  • grpAlignment: определяет как будет располагаться текст у TToggleSwitch — слева или справа от тумблера.
  • grpState: переключает состояние тумблера.
  • grpColors: устанавливает цвет переключателя и его частей.
  • grpstateCaptions: определяет текст заголовка (Caption) компонента TToggleSwitch.
  • chkReadOnly: устанавливает свойство ReadOnly тумблера.
  • chkShowStateCaptions: указывает, отображает ли тумблер заголовок (Caption).
  • chkEnabled: включает или отключает тумблер.
  • cbxVclStyles: поле со списком, которое позволяет вам изменить стиль приложения.

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

Использование компонента

В отличие от обычного компонента TCheckbox, TToggleSwitch позволяет:

  1. Назначать свой уникальный заголовок (Caption) для каждого состояния (включен/выключен). Для этого используется группа свойств компонента StateCaptions.
  2. Определять цвета каждого элемента у компонента: рамка компонента (свойство FrameColor), элемент переключателя (свойство ThumbColor) и непосредственно видимую область компонента (свойство Color).

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

Демонстрационный пример показывает работу с описанными выше уникальными свойствами компонента TToggleSwitch.

Программное переключение состояния TToggleSwitch осуществляется следующим образом:

procedure TToggleSwitchForm.grpStateClick(Sender: TObject);
begin
  TS.State := TToggleSwitchState(grpState.ItemIndex);
end;

где TToggleSwitchState — это:

TToggleSwitchState = (tssOff, tssOn);

Заголовки, отображаемые при каждом состоянии TToggleSwitch меняются следующим образом:

procedure TToggleSwitchForm.edtCaptionOffChange(Sender: TObject);
begin
  //меняем заголовок, когда тумблер выключен
  TS.StateCaptions.CaptionOff := edtCaptionOff.Text;
end;
 
procedure TToggleSwitchForm.edtCaptionOnChange(Sender: TObject);
begin
  //меняем заголовок, когда тумблер включен
  TS.StateCaptions.CaptionOn := edtCaptionOn.Text;
end;

На рисунке ниже представлен пример работающего демонстрационного приложения с настроенными свойствами TToggleSwitch:

 

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

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

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