Form - abrir explodindo igual ao norton para dos

Top  Previous  Next

// abrir uma form com animacao estilo norton-dos

 

procedure TForm1.Button1Click(Sender: TObject);

  procedure Delay(msec: Longint);

  var

    start, stop: Longint;

  begin

    start := GetTickCount;

    repeat

      stop := GetTickCount;

      Application.ProcessMessages;

    until (stop - start) >= msec;

  end;

var

  maxx, maxy: Integer;

begin

  maxx         := form2.Width;

  maxy         := form2.Height;

  form2.Width  := 112;

  form2.Height := 27;

  form2.Left   := (Screen.Width - form2.Width) div 2;

  form2.Top    := (Screen.Height - form2.Height) div 2;

  form2.Show;

 

  repeat

    if form2.Height + (maxy div 5) >= maxy then

      form2.Height := maxy

    else

      form2.Height := form2.Height + (maxy div 5);

 

    if form2.Width + (maxx div 5) >= maxx then

      form2.Width := maxx

    else

      form2.Width := form2.Width + (maxx div 5);

 

    form2.Left := (Screen.Width - form2.Width) div 2;

    form2.Top  := (Screen.Height - form2.Height) div 2;

    delay(30);

 

  until (form2.Width = maxx) and (form2.Height = maxy);

end;