Шаг 23.
Компоненты библиотеки RX.
Вкладка Controls. Компонент TRxSwitch

    На этом шаге мы рассмотрим компонент TRxSwitch.

    Компонент TRxSwitch относится к набору "безделушек" наряду с такими компонентами библиотеки, как TRxDice и TRxClock, и представляет собой реализацию в виде компонента Delphi двухпозиционного переключателя (аналогичен компоненту TCheckBox), используется для того, чтобы пользователь мог указать свое решение (например, да/нет) (рис.1).


Рис.1. Компонент RxSwitch1 в положении вкл. и компонент RxSwitch2 в положении выкл.

    Можно изменить изображения для двух положений переключателя с помощью свойств GlyphOn и GlyphOff. Текущее состояние переключателя определяется свойством StateOn.

    Для определения "горячей" клавиши, переключающей состояние элемента, служит свойство ToggleKey. Свойство TextPosition управляет расположением текста Caption относительно изображения переключателя.

    Некоторые свойства компонента:

Таблица 1. Свойства и методы компонента TRxSwitch
Свойство Описание
property GlyphOn: TBitmap; Свойство определяет графическое изображение (битовый образ), используемое для изображения переключателя в состоянии "On" (включено).
property GlyphOff: TBitmap; Свойство определяет графическое изображение (битовый образ), используемое для изображения переключателя в состоянии "Off" (выключено).
property StateOn: Boolean; Свойство определяет текущее состояние перерключателя:
  • True - состояние "On" (включено),
  • False - состояние " Off " (выключено).
property ToggleKey: TShortCut; Свойство позволяет определить "горячую" клавишу, при нажатии на которую происходит изменение состояния переключателя на противоположное (если переключатель в данный момент имеет фокус ввода).
property TextPosition: TTextPos; Свойство TextPosition управляет расположением текста Caption относительно изображения переключателя.
type
TTextPos = (tpRight, tpLeft, tpAbove, tpBelow, tpNone);
Тип задает возможные значения расположения текста для свойства TextPosition.
property OnOff: TNotifyEvent; Событие происходит при изменении состояния переключателя с "включено" (On) на "выключено" (Off), то есть при "выключении" переключателя.
property OnOn: TNotifyEvent; Событие происходит при изменении состояния переключателя с "выключено" (Off) на "включено" (On), то есть при "включении" переключателя.
property ShowFocus: Boolean; Свойство определяет, будет ли отображаться прерывистый прямоугольник вокруг элемента управления, если у него находится фокус ввода. Если это свойство установлено в значение True и элемент имеет фокус ввода (при этом свойство TabStop должно также иметь значение True), то прямоугольник отображается, в противном случае - нет.
procedure ToggleSwitch; Метод вызывает изменение состояния переключателя на противоположное, изменяя значение свойства StateOn.

    Приведем пример: создадим приложение, которое позволит продемонстрировать работу компонента TRxSwitch.

    Поместим на форму компоненты RxSwitch1, RxLabel1 (рис.2).


Рис.2. Форма с размещенными на ней компонентами RxSwitch1, RxLabel1

    Компонент RxSwitch1: свойству Caption придадим значение ‘Выкл.', свойству StateOn значение False, свойству TextPosition значение tpBellow (текст находится под изображением).

    Компонент RxLabel1 изначально сделаем невидимым, т.е. свойству Visible придадим значение False, свойству Caption - ‘Работает!!!'.

    Для компонента RxSwitch1 напишем обработчик события OnOff:

procedure TForm1.RxSwitch1Off(Sender: TObject);
begin
            RxSwitch1.Caption:='Выкл.';
            RxLabel1.Visible:=False;
end;

    Для компонента RxSwitch1 напишем обработчик события OnOn:

procedure TForm1.RxSwitch1On(Sender: TObject);
begin
                     RxSwitch1.Caption:='Вкл.';
                     RxLabel1.Visible:=True;
end;

    Работа программы показана на рис.3(а-б).


Рис.3а. Переключатель в положении выкл.


Рис.3б. Переключатель в положении вкл.

    Текст этого примера можно взять здесь.

    На следующем шаге мы рассмотрим компонент TRxDice.




Предыдущий шаг Содержание Следующий шаг