Например(пример не оптимален, но все же):
Код | procedure TForm1.FormActivate(Sender: TObject); var i,x,y:integer; begin x:=(screen.Width-form1.Width)shr 1; y:=(screen.Height-form1.Height)shr 1; for i:=0 to 255 do begin setwindowpos(handle,HWND_TOP, x+round(y*(1-i/255)*cos(i*pi/127.5)), y+round(y*(1-i/255)*sin(i*pi/127.5)), form1.Width,form1.Height, SWP_NOSENDCHANGING ); AlphaBlendValue:=i; Application.ProcessMessages; end; end;
|
Код | procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); var i,y:integer; rect:trect; begin getwindowrect(handle,rect); y:=(screen.Height-form1.Height)shr 1; for i:=255 downto 0 do begin setwindowpos(handle,HWND_TOP, rect.Left+round(y*(1-i/255)*cos(i*pi/127.5)), rect.Top+round(y*(1-i/255)*sin(i*pi/127.5)), form1.Width,form1.Height, SWP_NOSENDCHANGING ); AlphaBlendValue:=i; Application.ProcessMessages; end; end;
|
(тут код не мой, а Sanchezzz'а, но у меня еще полной подобных эффектов)
Новичкам подобные эффекты нраятся? Как вы думаете написать штук пять подобных? В раздел "Делфи для начинающих", "Исходники". |