Обзор компонентов библиотеки C++Builder_______________________183

3.3.7 Таймер — компонент Timer

Компонент Timer позволяет задавать в приложении интервалы времени. Тай-
мер находит многочисленные применения: синхронизация мультипликации, за-
крытие каких-то окон, с которыми пользователь долгое время не работает, вклю-
чение хранителя экрана или закрытие связей с удаленным сервером при отсутст-
вии действий пользователя, регулярный опрос каких-то источников информации,
задание времени на ответ в обучающих программах — все это множество задач, в
которых требуется задавать интервалы времени, решается с помощью таймера.

Таймер — невизуальный компонент, который может размещаться в любом ме-
сте формы. Он имеет два свойства, позволяющие им управлять: Interval — интер-
вал времени в миллисекундах и Enabled — доступность. Свойство Interval задает
период срабатывания таймера. Если значение Interval установлено во время про-
ектирования, то таймер срабатывает, вызывая событие OnTimer, через заданный
интервал времени после предыдущего срабатывания, или после программной уста-
новки свойства Interval, или после запуска приложения. В обработчике события
OnTimer записываются необходимые операции.

Если задать Interval = 0 или Enabled = false, то таймер перестает работать.
Чтобы запустить отсчет времени надо или задать Enabled = true, если установлено
положительное значение Interval, или задать положительное значение Interval,
если Enabled = true.

Например, если требуется, чтобы через 5 секунд после запуска приложения
закрылась форма — заставка, отображающая логотип приложения, на ней надо
разместить таймер, задать в нем интервал Interval = 5000, а в обработчик события
OnTimer вставить оператор Close, закрывающий окно формы.

Если необходимо в некоторой процедуре запустить таймер, который отсчитал
бы заданный интервал, например, 5 секунд, после чего надо выполнить некоторые
операции и отключить таймер, это можно сделать следующим образом. При проек-
тировании таймер делается доступным (Enabled = true), но свойство Interval зада-
ется равным 0. Таймер не будет работать, пока в момент, когда нужно запустить
таймер, не выполнится оператор

Timerl->Interval = 5000;

Через 5 секунд после этого наступит событие OnTimer. В его обработчике надо
задать оператор

Timerl->Interval = 0;

который отключит таймер, после чего можно выполнять требуемые операции.

Другой эквивалентный способ решения задачи — использование свойства
Enabled. В время проектирования задается значение Interval = 5000 и значение
Enabled = false. В момент, когда надо запустить таймер выполняется оператор

Timerl->Enabled = true;

В обработчик события ОпТ1тег,"которое наступит через 5 секунд после запус-
ка таймера, можно вставить оператор

Timerl->Enabled = false;

который отключит таймер.

3.4 Компоненты — меню

3.4.1 Главное меню — компонент MainMenu

В C++Builder имеется два компонента, представляющие меню: MainMenu —
главное меню, и PopupMenu — всплывающее меню. Оба компонента расположены