Forum
Grundkurs
»Introduktion
»Snabbguide
»Komponenter
»Händelser
»Strängar
»Räkna med Delphi »Egna
typer
»Selektion
»Iteration
»Menyer
»Funktioner
»Arraystrukturer
Tips & Tricks
»Nya tips
»Blandat
»Databaser
»Filer
»Forms
»Grafik
»Internet
»Komponenter
»Matematik
»Multimedia
»Objekt/ActiveX
»Skrivare
»Strängar
»System
»Mest lästa tips
Artiklar
»Delphi och ADO
»Bygga en DLL
»Skapa en enkel rapport
»Hantera registret
»Enheter, units
»Klassen TCanvas
»Använd LookUp Controls
Nya
tips
Lägg
till tips
Delphilänkar
Gästbok
|
|
|
|
Stäng ett formulär animerat
|
Kategori: Forms
Inlagt: 2004-11-09
Läst: 1245
Inlagt av: Staffan Berg
|
Beskrivning |
Detta exempel animerar ett formulär vid stängningsögonblicket.
|
Kod |
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;
|
|
|