Delphi FAQ

Transparent FormClose

woolfik

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;
FAQ

2 komentarzy

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

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...