Delphi World - Закрыть форму с анимацией
Delphi World - это проект, являющийся сборником статей и малодокументированных возможностей  по программированию в среде Delphi. Здесь вы найдёте работы по следующим категориям: delphi, delfi, borland, bds, дельфи, делфи, дэльфи, дэлфи, programming, example, программирование, исходные коды, code, исходники, source, sources, сорцы, сорсы, soft, programs, программы, and, how, delphiworld, базы данных, графика, игры, интернет, сети, компоненты, классы, мультимедиа, ос, железо, программа, интерфейс, рабочий стол, синтаксис, технологии, файловая система...
Закрыть форму с анимацией

Оформил: DeeCo
Автор: http://www.swissdelphicenter.ch

var
   tutup: Boolean;
   i: Integer;

 procedure TForm1.Timer1Timer(Sender: TObject);
 var
   reg1, reg2: hrgn;
 begin
   if tutup = True then
   begin
     i := i + 10;
     reg1 := CreateRoundRectRgn(0 + i, 0 + i, Width - i, Height - i, 20, 20);
     SetWindowRgn(Handle, reg1, True);
   end;

   if i >= Width then
   begin
     tutup := False;
     i := 1;
   end;

   if tutup = False then
   begin
     i := i + 10;
     reg1 := CreateRectRgn(0, 0, (Width div 2) - i, Height);
     reg2 := CreateRectRgn((Width div 2) + i, 0, Width, Height);
     CombineRgn(reg1, reg1, reg2, rgn_or);
     SetWindowRgn(Handle, reg1, True);
     if i >= Width div 2 then
     begin
       tutup := True;
       i := 1;
     end;
   end;
 end;

 procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
 var
   reg1: hrgn;
 begin
   i := 1;
   timer1.Enabled := True;
   if MessageDlg('Exit now ?',
     mtConfirmation, [mbYes, mbNo], 0) = mrYes then
     CanClose := True
   else
   begin
     CanClose := False;
     timer1.Enabled := False;
     reg1 := CreateRoundRectRgn(0, 0, Width, Height, 0, 0);
     SetWindowRgn(Handle, reg1, True);
   end;
 end;

 procedure TForm1.FormCreate(Sender: TObject);
 begin
   tutup := True;
   timer1.Enabled := False;
 end;
Проект Delphi World © Выпуск 2002 - 2017
Автор проекта: Эксклюзивные курсы программирования