Einzelnen Beitrag anzeigen

Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#14

Re: [D2005 PE] FadeForm

  Alt 30. Apr 2006, 18:56
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]
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat