Вход/Регистрация
Delphi. Учимся на примерах
вернуться

Парижский Сергей Михайлович

Шрифт:

Рис. 5.1. Выбор расширения для откомпилированной программы

Изменим свойства формы согласно табл. 5.1.

Таблица 5.1. Свойства формы хранителя экрана

Свойство Значение Пояснение
BorderStyle bsNone Окно программы будет отображаться без границы и заголовка
Align alClient Окно программы будет заполнять весь экран
FormStyle fsStayOnTop Окно программы будет располагаться поверх всех остальных окон
AlphaBlend True Разрешаем изменение степени прозрачности формы
AlphaBlendValue 1 Изначально окно программы полностью непрозрачное

Разработка программного кода

Объявите в разделе var переменную mouse типа TPoint. В этой переменой будут храниться координаты указателя мыши, при изменении которых программа должна закрываться:

var

 Form1: TForm1;

 mouse: TPoint;

Программа экранной заставки должна закрываться не только по движению мыши, но при любой активности пользователя. Для этого создадим обработчики некоторых событий главной формы. Создание формы (событие OnCreate):

procedure TForm1.FormCreate(Sender: TObject);

begin

 GetCursorPos(mouse); //сохраняем координаты курсора мыши

 ShowCursor(False); //прячем курсор

end;

Форма должна закрываться по нажатию любой клавиши (событие OnKeyPress) и при движении мышью (событие OnMouseMove). Код обработчика события OnKeyPress:

procedure TForm1.FormKeyPress(Sender: TObject; var Key:Char);

begin

 Halt;//завершение работы программы

end;

Для события OnMouseMove программный код будет несколько иным:

procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);

begin

 if (X <> mouse.X) or (y <> mouse.Y) then Halt;

end;

Здесь сначала выполняется проверка: были ли изменены координаты курсора. Если координаты курсора изменились, то, соответственно, мышь была сдвинута и следует закрыть программу.

Напишем собственную процедуру для выбора случайного цвета: color_check. Объявите ее как закрытый член класса формы:

type

 TForm1 = class(TForm)

 …

private

 { Private declarations }

 procedure color_check;

public

 { Public declarations }

end;

В разделе implementation создадим реализацию процедуры color check:

procedure TForm1.colorcheck;

var

 ran: integer; //случайное число, соответствующее

 //определенному цвету

begin

 Randomize; //включаем генератор случайных чисел

 ran := random(6) + 1; //выбираем случайное число от 1 до 6

 //назначаем форме цвет, соответствующий выбранному числу

 case ran of

 1: Form1.Color:= clBlack;

 2: Form1.Color:= clWhite;

 3: Form1.Color:= clBlue;

 4: Form1.Color:= clGray;

 5: Form1.color:= clYellow;

 6: Form1.Color:= clGreen;

 end;

end;

Здесь случайным образом выбирается число от 1 до 6, в зависимости от того которого определяем цвет формы. Процедура color_check будет вызываться при каждом новом насыщении формы.

Обработчик события OnTimer первого таймера должен иметь следующий вид:

procedure TForm1.Timer1Timer(Sender: TObject);

begin

 if Form1.AlphaBlendValue > 250

 then {проверяем: не полностью ли мы закрасили форму}

 begin

Timer1.Enabled:= False; //выключаем насыщение формы

Timer2.Enabled:= True; //включаем обратный процесс

  • Читать дальше
  • 1
  • ...
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: