Delphi. Учимся на примерах
Шрифт:
end;
//Уменьшаем прозрачность на 1
Form1.AlphaBlendValue:= Form1.AlphaBlendValue – 1;
end;
Здесь через каждые 100 мс прозрачность формы уменьшается на 1. Когда форма становится полностью прозрачной, мы случайным образом выбираем другой цвет, выключаем таймер, по которому происходит уменьшение насыщенности цвета, и включаем первый таймер, который плавно увеличивает насыщенность цвета.
Теперь программу можно откомпилировать,
Разработанный нами хранитель экрана в действии показан на рис. 5.2. В данном случае был случайным образом выбран желтый цвет заполнения и происходит медленное насыщение этим цветом. Можно разглядеть папки, которые видны сквозь полупрозрачную форму.
< image l:href="#"/>Рис. 5.2. Хранитель экрана в действии
Полный исходный код модуля
Полный исходный код модуля программы Хранитель экрана представлен в листинге 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;
Поделиться:
Популярные книги
Зубных дел мастер
1. Зубных дел мастер
Фантастика:
научная фантастика
попаданцы
альтернативная история
5.00
рейтинг книги
Бывшие. Война в академии магии
2. Измены
Любовные романы:
любовно-фантастические романы
7.00
рейтинг книги
Идеальный мир для Лекаря 7
7. Лекарь
Фантастика:
юмористическая фантастика
попаданцы
аниме
5.00
рейтинг книги
Возвышение Меркурия. Книга 3
3. Меркурий
Фантастика:
попаданцы
аниме
5.00
рейтинг книги
Кодекс Охотника. Книга X
10. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
6.25
рейтинг книги
Хозяин Теней
1. Безбожник
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Опасная любовь командора
1. Проклятые луной
Фантастика:
фэнтези
5.00
рейтинг книги
Друд, или Человек в черном
Фантастика:
социально-философская фантастика
6.80
рейтинг книги
Волхв
3. Волшебник
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Мастер Разума VII
7. Мастер Разума
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Всемирная энциклопедия афоризмов. Собрание мудрости всех народов и времен
Документальная литература:
публицистика
5.40
рейтинг книги
Сумеречный Стрелок 5
5. Сумеречный стрелок
Фантастика:
городское фэнтези
попаданцы
аниме
5.00
рейтинг книги
Морской волк. 1-я Трилогия
1. Морской волк
Фантастика:
альтернативная история
8.71
рейтинг книги
Прогрессор поневоле
2. Фараон
Фантастика:
попаданцы
альтернативная история
5.00