Programowanie w języku Delphi » FAQ

Transparent FormClose

  • 2010-02-10 16:25
  • 2 komentarze
  • 678 odsłon
  • Oceń ten tekst jako pierwszy
Czy widzieliście nieraz aplikacje, które przy zamknięciu robiły się stopniowo przeźroczyste aż w końcu aplikacja zostaje zamknięta? Poniższy kod prezentuje jak można  to zrobić korzystając z wbudowanych narzędzi Delphi.

procedure TForm1.ZamknijClick(Sender: TObject);
begin
 AlphaBlendValue := 255 ;
 AlphaBlend := True ;
 while AlphaBlendValue > 0 do
 begin
   AlphaBlendValue := AlphaBlendValue -1 ;
   Application.ProcessMessages ;
   Sleep(10);
 end;
 ModalResult := mrOk ;
 Close ;
end;


Ok według życzenia.
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
 AlphaBlendValue := 255 ;
 AlphaBlend := True ;
 while AlphaBlendValue > 0 do
 begin
   AlphaBlendValue := AlphaBlendValue -1 ;
   Application.ProcessMessages ;
   Sleep(10);
 end;
end;

2 komentarze

Alkuzad 2010-02-03 17:57

przydałaby się wzmianka dla mniej-zapoznanych, że dobrze takie coś wstawić w onClose formy.

koval_s 2010-02-08 15:53

Kolega: Alkuzad, zapomniał jeszcze dodać, że jak się umieści w: onClose, to należy usunąć:  ModalResult := mrOk ; Close ;, ale na pewno chciał to powiedzieć, pozdrawiam...