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

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

    Компонент TRxDice (рис.1) из числа "безделушек", позволяющий использовать в формах изображения игральных костей в различных положениях.

    Текущее состояние компонента (положение игральной кости) задается свойством Value, которое может изменяться от 1 до 6. Можно установить свойство Value в случайное значение, вызвав метод RandomValue.

    Если установить свойство Rotate в значение True, изображение игральной кости начнет случайным образом "вращаться", изменяя значение Value, с частотой, задаваемой свойством Interval. Остановить вращение можно, присвоив значение False свойству Rotate. Если свойство AutoStopInterval отлично от 0, то по прошествии этого времени вращение будет остановлено автоматически.

    При изменении значения Value происходит событие OnChange.


Рис.1. Компонент TRxDice

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

Таблица 1. Свойства и методы компонента TRxDice
Свойство Описание
property Value: TrxDiceValue; Свойство задает текущее состояние (положение игральной кости) для компонента TRxDice.
type
TrxDiceValue = 1..6;
Задает допустимые значения параметра Value компонента TRxDice, которые могут изменяться от 1 до 6.
procedure RandomValue; Вызов данного метода позволяет установить значение свойства Value компонента случайным образом (в диапазоне целых чисел от 1 до 6).
property Rotate: Boolean;
  • True - изображение игральной кости случайным образом "вращается" (изменяя значение Value, с частотой, задаваемой свойством Interval).
  • False - остановка вращения.
property Interval: Word; Свойство определяет временной интервал (в миллисекундах), с которым происходит смена изображений в компоненте. Rotate = True - это частота смены битовых изображений.
property AutoStopInterval: Cardinal; Свойство задает интервал (в миллисекундах), по прошествии которого после установки свойства Rotate = True вращение игральной кости будет остановлено. AutoStopInterval = 0 - вращение автоматически не останавливается, может быть прекращено присваиванием Rotate = False.

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

    Поместим на форму компоненты RxDice1, RxSpeedButton1, RxSpeedButton2, RxSpeedButton3 (рис.2).


Рис.2. Форма с размещенными на ней компонентами RxDice1, RxSpeedButton1, RxSpeedButton2, RxSpeedButton3

    RxSpeedButton1 (“Начало”) – начало действия.

    RxSpeedButton2 (“Конец”) – конец действия.

    Кнопка RxSpeedButton3 и компонент RxDice1 будут невидимыми до нажатия на RxSpeedButton1 и после нажатия на RxSpeedButton2, т.е. при нажатии на эти кнопки значения свойства Visible компонента RxSpeedButton3 и RxDice1 будут изменяться.

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

procedure TForm1.RxSpeedButton1Click(Sender: TObject);
begin
       RxDice1.Visible:=True;        //Компонент RxDice1 становится видимым
       RxSpeedButton3.Visible:=True; //Компонент RxSpeedButton3 становится видимым
       RxDice1.Rotate:=True;         //Компонент RxDice1 случайным образом
                                     //"вращается"
       RxDice1.Interval:=200;        //Изменяя значение Value с данной частотой
end;

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

procedure TForm1.RxSpeedButton2Click(Sender: TObject);
begin
    //Компонент RxDice1 становится невидимым
    RxDice1.Visible:=False;     
    //Компонент RxSpeedButton3 становится невидимым   
    RxSpeedButton3.Visible:=False; 
end;

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

procedure TForm1.RxSpeedButton3Click(Sender: TObject);
begin
       RxDice1.Rotate:=False;     //“Вращение” прекращается
end;

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


Рис.3а. Компонент RxDice1 невидим


Рис.3б. Компонент RxDice1 становится видимым

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

    Мы закончили рассмотрение компонентов с вкладки Controls.




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