МОУ СОШ №3 г. Осташков Тверская обл.
  
 
 
 
 

Мини-проекты в Delphi

Проект "Прозрачная форма"

Интересные эффекты можно получить, если создать прозрачную форму. Используя метод Canvas на форме можно изображать различные примитивы: прямую, эллипс, окружность, прямоугольник. А применяя метод TextOut выводить текст в нужное место на форму. Итак, на форме размещаем два таймера, TransparentColor – true, Color – clNone, WindowState – wsMaxmimized.
Для Timer1: Enabled – false, Interval – 10.
Для Timer2: Enabled – true, Interval – 2000.

В разделе implementation объявим переменные
dx,dy,xm,ym,x1,y1,x2,y2:integer;
После запуска программы в зависимости от разрешения вычисляем размеры экрана, растягиваем форму, вычисляем размер шага по осям координат, размер шрифта.

 

Создаем процедуру для загрузки формы:

procedure TForm1.FormCreate(Sender:  TObject);
begin
  Timer1.Enabled :=true;
  Timer2.Enabled :=false;
  xm:=Screen.Width ;
  ym:=Screen.Height ;
  Form1.Width :=xm;
  Form1.Height :=ym;
  dx:=round(xm/200); dy:=round(ym/200);
  x1:=round(xm);x2:=0;
  y1:=0; y2:=round(ym);
end;

Закраски формы

И для таймеров:

procedure TForm1.Timer1Timer(Sender:  TObject);
begin
Canvas.Pen.Color  := clGreen;
If x1>0 then 
   begin 
       Canvas.MoveTo(x1,0);
       Canvas.LineTo(x2,ym);
       x1:=x1-dx;
       x2:=x2+dx;
       if x1<0 then x1:=0;
   end
   else if y1<= ym then begin
       Canvas.MoveTo(0,y1);
       Canvas.LineTo(xm,y2);
       y1:=y1+dy;
       y2:=y2-dy;
   end;
   if y1>=ym then  
     begin
        Canvas.Font.Color:=clRed;
        Canvas.Font.Size := round (Form1.Height/10);
        Canvas.TextOut(round(xm/2-Canvas.Font.Size*2),round
(ym/2-Canvas.Font.Size*0.7),’ПОКА!’);
        Timer1.Enabled :=false;
        Timer2.Enabled :=true;
     end;
end; 

В ней имитируется вращение прямой зеленого цвета. Для этого начало прямой перемещается с шагом dx по верхнему краю вправо, а конец прямой влево. Затем тоже самое  по левому и правому краям экрана с шагом dy. В завершение выводится надпись «ПОКА!» красного цвета в центр экрана, выключается Таймер1 и включатся Таймер2.

Таймер2 делает задержку на 2 секунды и закрывает программу.

 

 

 

 

 

 

 

 

 

 


 
О мини-проектах
Неуловимая кнопка
Вещий камень
Перетаскивание фигур
Секундомер
Градусы-радианы
Мультик
Падение тела
Прозрачная форма
Регионы
Шарик за мышкой
Таймер
Расписание уроков
Записная книжка
Задача по физике
Определение зачеркнутой цифры
Использование Microsoft Agent в Delphi
 Арифметика
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
             
Hosted by uCoz