На этом шаге мы рассмотрим компонент TRxClock.
Компонент TRxClock (рис.1) позволяет отображать время суток в цифровом или аналоговом виде (вид отображения задается с помощью свойства ShowMode).
Рис.1. Компонент TRxClock
При цифровом отображении формат времени задается комбинацией значений свойств LeadingZero, TwelveHour и ShowSeconds.
Дополнительно имеется функция будильника. При установке значения AlarmEnabled в True, при наступлении времени суток, заданного свойствами AlarmHour, AlarmMinute и AlarmSecond, происходит событие OnAlarm, в обработчике которого вы можете произвести необходимые действия.
Рассмотрим свойства данного компонента:
Свойство | Описание |
---|---|
property ShowMode: TShowClock; | Свойство управляет режимом отображения времени:
|
type TShowClock = (scDigital, scAnalog); |
Тип служит для задания допустимых значений режима отображения компонента TRxClock (значение свойства ShowMode). |
property LeadingZero: Boolean; | Свойство определяет, будут ли добавляться лидирующие нули при форматировании времени (только для значения часов), если задано цифровое отображение часов (свойство ShowMode = scDigital). |
property TwelveHour: Boolean; | Свойство определяет, как будет форматироваться время, если задано
цифровое отображение часов (свойство ShowMode = scDigital):
|
property ShowSeconds: Boolean; | Свойство задает, будут ли отображаться секунды при цифровом изображении часов (при значении свойства ShowMode = scDigital) или секундная стрелка - при аналоговом. |
property DotsColor: TColor; | Свойство задает цвет для точек, обозначающих часы. Имеет смысл при значениях свойств ShowMode = scAnalog и Ctl3D = True. |
property AlarmEnabled: Boolean; | AlarmEnabled = True - при наступлении времени суток, заданного свойствами AlarmHour, AlarmMinute и AlarmSecond, происходит событие OnAlarm, в обработчике которого вы можете произвести необходимые действия. |
property AlarmHour: Byte; | Свойство задает (совместно со значениями AlarmMinute и AlarmSecond) время срабатывания "будильника", т.е. время, в которое произойдет событие OnAlarm при установке в True свойства AlarmEnabled. |
property AlarmMinute: Byte; |
Свойство задает (совместно со значениями AlarmHour и AlarmSecond) время срабатывания "будильника", т.е. время, в которое произойдет событие OnAlarm при установке в True свойства AlarmEnabled. |
property AlarmSecond: Byte; | Свойство задает (совместно со значениями AlarmHour и AlarmMinute) время срабатывания "будильника", т.е. время, в которое произойдет событие OnAlarm при установке в True свойства AlarmEnabled. |
property OnAlarm: TNotifyEvent; |
Событие OnAlarm происходит при наступлении времени суток, заданного свойствами AlarmHour, AlarmMinute и AlarmSecond, если свойство AlarmEnabled установлено в значение True. |
Приведем пример: создадим приложение, которое позволит менять внешний вид компонента TRxClock, по нажатию кнопки и покажет работу будильника.
Поместим на форму компоненты RxClock1, RxLabel1, RxLabel2 и RxSpeedButton1 (рис.2).
Рис.2. Форма с размещенными на ней компонентами
RxClock1 , RxLabel1 ,RxLabel2 и RxSpeedButton1
RxLabel1 (“Внешний вид”) – это надпись рядом с кнопкой RxSpeedButton1. При нажатии на кнопку свойство Caption данного компонента меняет свое значение ('scAnalog', 'scDigital') и внешний вид компонента RxClock1 соответственно меняется (scAnalog, scDigital).
Когда реальное время становится равным значениям, заданным в свойствах AlarmHour, AlarmMinute и AlarmSecond.
Для компонента RxSpeedButton1 напишем обработчик события OnClick:
procedure TForm1.RxSpeedButton1Click(Sender: TObject); begin if (RxSpeedButton1.Caption='scDigital') then begin RxSpeedButton1.Caption:='scAnalog'; RxClock1.ShowMode:=scAnalog; end else begin RxSpeedButton1.Caption:='scDigital'; RxClock1.ShowMode:=scDigital; end; end;
Для компонента RxClock1 напишем обработчик события OnAlarm:
procedure TForm1.RxClock1Alarm(Sender: TObject); begin for i:=1 to 10 do begin RxLabel2.Visible:=True; //Компонент RxLabel2 становится видимым Form1.Color:=clLime; //Цвет формы меняется на цвет clLime RxLabel2.Caption:='Вставай!!!' end; end;
Работа программы показана на рис.3(а-в).
Рис.3а. Свойство ShowMode в значении scDigital
Рис.3б. Свойство ShowMode в значении scAnalog
Рис.3в. Сработал будильник
Текст этого примера можно взять здесь.
На следующем шаге мы рассмотрим компонент TAnimatedImage.