Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   splash screen (https://www.clubdelphi.com/foros/showthread.php?t=66850)

hernan35 16-03-2010 00:39:48

splash screen
 
Hola a todos:

Nuevamente vengo con una pregunta sencilla para muchos de ustedes, espero puedan ayudarme.
Pude crear una presentación para mi programa, el problema consiste en que cuando la presentación termina en el form2(llamado FLogo) y se habre el form1 el form2 no se cierra y quedan ambas en pantalla.
El código que utilicé es el siguiente:

FLogo:=TFLogo.Create(Application);
FLogo.Show;
FLogo.Update;
Application.Initialize:
Application.Create(TForm1,Form1);
application.Create(TFLogo,FLogo);
Sleep(3000);
FLogo.Hide;
FLogo.Free;
Application.Run;
Desde ya les agradezco sus respuestas.

Softweb 16-03-2010 00:50:29

Hola

Yo lo hago a sin:

Código Delphi [-]
  Application.Initialize;
  SwShowLogo( 0, C_TITULOAPP, C_DESCRIAPP, PAnsiChar('Versión '+FloatToStr(C_VERSION)) );
  Application.Title := 'APP';
  Application.CreateForm(TDM, DM);
  Application.CreateForm(TMain, Main);
  SwCerrarShow;
  Application.Run;


Código Delphi [-]
procedure SwShowLogo( Size: integer; Titulo, Detalle, Version: PChar ); stdcall;
begin
  Screen.Cursor := -11;
  DlgLogo := TDlgLogo.Create(Application);
  DlgLogo.Boton.Visible := False;
  DlgLogo.Tag := 0;
  if Titulo <> '' then DlgLogo.LTitulo.Caption := Titulo;
  if Detalle <> '' then DlgLogo.LDetalle.Caption := Detalle;
  if Version <> '' then DlgLogo.LVersion.Caption := Version;
  if Size <> 0 then DlgLogo.LTitulo.Font.Size := Size;
  DlgLogo.Show;
  DlgLogo.Update;
  Screen.Cursor := 0;
end;

procedure SwCerrarShow; stdcall;
begin
  DlgLogo.Close;
  DlgLogo.Free;
end;

Espero que te sirva, si no es asín dímelo.

Saludos

BrunoBsso 16-03-2010 01:03:29

Se me ocurre.. probá así
Código Delphi [-]
  FLogo:=TFLogo.Create(Application);
  FLogo.Show;
  FLogo.Update;
  Application.Initialize:
  Application.Create(TForm1,Form1);
  application.Create(TFLogo,FLogo);
  Sleep(3000);
  FLogo.Close;
  FLogo.Free;
  Application.Run;
Sino sirve, tambíen podés probar
Código Delphi [-]
//En la paleta de propiedades
//Poner la propiedad AlphaBlend en TRUE del form principal
//Poner la propiedad AlphaBlendValue = 0 del form principal
//En el OnCreate del form principal
begin
  FLogo.ShowModal;
  //Cuando FLogo termina de mostrarse, cerralo desde sí mismo
  FLogo.Free;
  Form1.AlphaBlendValue:=255;
  Form1.AlphaBlend:=False;
end;
Para eso, tendrías que dejar el source del proyecto intacto y no recurrir al código que hiciste.
Si no se entiende, lo explico de nuevo de otra forma.
Saludos!

hernan35 16-03-2010 02:21:20

Me dieron una solución realmente rápido, les agradezco a todos su valiosa colaboración, y quedo perfecto.
Saludos.


La franja horaria es GMT +2. Ahora son las 14:40:40.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi