Ver Mensaje Individual
  #3  
Antiguo 19-06-2018
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - Espańa
Posts: 18.276
Reputación: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Puedes hacerlo utilizando la API de windows AnimateWindow.
Si creas un formulario con un botón y un label y colocas este código puedes probarlo.



Código Delphi [-]
uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;

type
  TFormMain = class(TForm)
    Button1: TButton;
    Label1: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormShow(Sender: TObject);
  private
    { Private declarations }
  public
    procedure ShowForm;
  end;

var
  FormMain: TFormMain;

implementation

{$R *.dfm}

procedure TFormMain.Button1Click(Sender: TObject);
begin
  Close;
end;

procedure TFormMain.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  AnimateWindow(FormMain.Handle, 2000, AW_SLIDE or AW_HIDE or AW_BLEND);
  FormMain.Hide;
end;

procedure TFormMain.FormShow(Sender: TObject);
begin
  ShowForm;
end;

procedure TFormMain.ShowForm;
begin
  Self.Left := 500;
  Self.Top := 500;
  AnimateWindow(FormMain.Handle, 2000, AW_SLIDE or AW_BLEND);
end;


El efecto final será algo así (no se si se acerca a lo que quieres).





Otra opción "manual" que puedes `robar es utilizar un Timer y las propiedades AlphaBlend y AlphaBlendValue del formulario para conseguir algo parecido.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita