Книга: Delphi. Учимся на примерах

Полный исходный код модуля

Полный исходный код модуля

Полный исходный код модуля программы Хранитель экрана представлен в листинге 5.1.

Листинг 5.1. Модуль программы Хранитель экрана

unit Unit1;
interface
uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls;
type TForm1 = class(TForm)
 Timer1: TTimer;
 Timer2: TTimer;
 procedure FormCreate(Sender: TObject);
 procedure FormKeyPress(Sender: TObject; var Key: Char);
 procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
 procedure Timer1Timer(Sender: TObject);
 procedure Timer2Timer(Sender: TObject);
private
 { Private declarations }
 procedure color_check();
public
 { Public declarations }
end;
var
 Form1: TForm1;
 mouse: TPoint;
implementation
{$R *.dfm}
procedure TForm1.color_check();
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;
procedure TForm1.FormCreate(Sender: TObject);
begin
 GetCursorPos(mouse); //получаем координаты курсора мыши
 ShowCursor(False); //прячем курсор
end;
procedure TForm1.FormKeyPress(Sender: TObject; var Key:Char)
begin
 Halt; //завершение работы программы
end;
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
 if (X <> mouse.X) or (Y <> mouse.Y) then Halt;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
 if Form1.AlphaBlendValue > 250
 then //проверяем: не полностью ли мы закрасили форму
 begin
  Timer1.Enabled:= False; //выключаем насыщение формы
  Timer2.Enabled:= True; //включаем обратный процесс
 end;
 //постепенное насыщение формы
 Form1.AlphaBlendValue:= Form1.AlphaBlendValue + 1;
end;
procedure TForm1.Timer2Timer(Sender: TObject);
begin
 if Form1.AlphaBlendValue < 5
 then //если форма уже полностью прозрачная
 begin
  color_check(); //выбираем случайный цвет для формы
  Timer2.Enabled:= False; //выключаем второй таймер
  Timer1.Enabled := True; //включаем первый таймер
 end;
 //Уменьшаем прозрачность на 1
 Form1.AlphaBlendValue:= Form1.AlphaBlendValue – 1;
end;
end.

? Все файлы проекта и исполняемый файл рассмотренной программы находятся на прилагаемом к книге компакт-диске в папке Chapter05.

Оглавление книги


Генерация: 0.057. Запросов К БД/Cache: 0 / 0
поделиться
Вверх Вниз