Also ich habe folgenden Quelltext:
Delphi-Quellcode:
program Project1;
uses
Forms,
UFadeForm in 'Codes\FadeForm\UFadeForm.pas',
Unit1 in 'Unit1.pas';
{$R *.res}
begin
Application.Initialize;
Unit1.Test;
Application.Run;
end.
Delphi-Quellcode:
unit Unit1;
interface
uses
UFadeForm, SysUtils;
procedure Test;
implementation
procedure Test;
var
lFadeForm: TFadeForm;
begin
lFadeForm := TFadeForm.CreateNew(
nil);
lFadeForm.AlphaBlend := true;
lFadeForm.FadeIn := true;
lFadeForm.FadeOut := true;
lFadeForm.Show;
sleep(10000);
lFadeForm.Free;
end;
end.
Delphi-Quellcode:
unit UFadeForm;
interface
uses
SysUtils, Forms;
type
TFadeForm =
class(TForm)
private
pFadeIn, pFadeOut : Boolean;
protected
procedure DoShow;
override;
procedure DoHide;
override;
published
property FadeIn : Boolean
read pFadeIn
write pFadeIn;
property FadeOut : Boolean
read pFadeOut
write pFadeOut;
end;
implementation
procedure TFadeForm.DoShow;
begin
// AlphaBlend runtersetzen
if pFadeIn
then
AlphaBlendValue := 5;
// Show "ausführen"
inherited Show;
// Einblenden
if pFadeIn
then
while AlphaBlendValue < 255
do begin
AlphaBlendValue := AlphaBlendValue + 10;
Sleep(10);
end;
end;
procedure TFadeForm.DoHide;
begin
// Ausblenden
if pFadeOut
then begin
AlphaBlendValue := 255;
while AlphaBlendValue > 5
do begin
AlphaBlendValue := AlphaBlendValue - 10;
Sleep(10);
end;
end;
// Close "ausführen"
inherited Close;
end;
end.
Also Fehler etc. gibts nicht, nur ist es, wie eine normale Form... "An" und "Aus" ^^
[edit]is natürlich auch AlphaBlend an
[/edit]