Экранная заставка
Цель лекции
Закрепление пройденного материала на практике, изучение компонента TTimer и функции-генератора случайных чисел Random().
Постановка задачи
Время от времени для закрепления пройденного материала мы будем выполнять лабораторные работы - реальные программные проекты различной сложности. На этот раз мы с вами сделаем экранную заставку в виде электронных часов. Проект разрабатывается на платформе Windows XP SP3, но и на других версиях Windows должно получиться также.
Прежде всего, экранная заставка занимает весь экран, не имеет системной строки, главного меню и обрамления главного окна. Да и окно у экранной заставки, как правило, одно. Еще одно различие - файл с экранной заставкой имеет расширение *.scr (от англ. screen - экран) а не *.exe, как программа. Тем не менее, экранная заставка - та же программа.
Подумаем, каким образом мы можем реализовать такую заставку в виде часов. Ответ напрашивается сам собой: установить в центре экрана обычную панель, на которой в свойстве Caption выводить текущее время. Однако, это скучно. Пусть эта панель еще и перемещается по экрану по случайной траектории! Чтобы реализовать такой проект, нам придется изучить пару вещей: системный таймер TTimer и функцию-генератор случайных чисел Random().
Реализация проекта
Вообще-то, вначале положено разработать алгоритм программы.
Но наш проект достаточно прост, поэтому алгоритма, как такового, нет. Начнем проект, при необходимости разрабатывая алгоритм дальнейших действий по ходу дела. Откройте Lazarus с новым проектом, свойство Name главной формы сразу переименуйте в fMain. Сохраните проект в папку 11-01 под именем MyClock, а модуль главной формы назовите Main.
Теперь займемся окном. Поскольку у окна заставки не должно быть системной строки, свойство BorderStyle установим в bsNone. А так как это окно должно занимать весь экран, свойство WindowState переведем в wsMaximized. Свойство Color установим в clBlack, чтобы форма стала черной. И ещё: свойство формы Cursor переведем в crNone, чтобы в работающей заставке не было видно указателя мыши (зачем она там?).
Пойдем далее. Установим на форму метку TLabel. Не обращайте внимания, что на черном фоне её пока не видно на форме. Изменим у неё некоторые свойства:
- Name = lClock (так мы будем обращаться к метке в программном коде; l - сокращение от label - метка, Clock - часы)
- Caption = 00:00:00
- Font = Times New Roman, жирный курсив, 48 пикселей. Цвет шрифта выберите желтый.
- ParentColor = True (это заставит метку всегда сливаться с формой, а цвет шрифта будет контрастировать с общим фоном)
Если вы забыли, как настроить свойства шрифта, то напомню: нужно выделить свойство Font, затем нажать на кнопку с тремя точками в правой части свойства, в Инспекторе объектов:
Откроется окно, где вы сможете выбрать шрифт, начертание, размер и цвет шрифта. Можете выбрать свои цвета для шрифта и панели, главное, чтобы они контрастировали друг с другом, и хорошо сочетались с черным цветом формы, который мы установим позже.
В результате выполненных действий у вас должно получиться примерно такое окно:
Не волнуйтесь по поводу того, что окно пока маленькое, а системная строка и обрамления окна есть - когда программа будет работать, окно займет весь экран, если вы не напутали с параметрами формы.