Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Formulario activo siempre, y formulacio inicio que desaparezca tras 5 o 6 segundos (https://www.clubdelphi.com/foros/showthread.php?t=51357)

Petolansa 13-12-2007 05:25:45

Formulario activo siempre, y formulacio inicio que desaparezca tras 5 o 6 segundos
 
Buenas gente, les queria hacer dos consultas pequeñas, en mi aplicacion quiero hacer que aparezca al inicio, un formulario de presentacion, similar al delphi,como podria hacer para que aparezca 5 segundos y desaparezca? y luego me llame al de principal. Y la otra es como hago para que mi formulario principal permaneza siempre activo y que pueda trabajar en la parte de abajo, similar al delphi tambien, El form principal me interesaria que este activo siempre porque tengo una toolbar conn accesos rapidos, y bueno el main menu de mi aplicacion. Desde ya muchas gracias
Gracias

Salidos!:)

Faust 13-12-2007 06:34:09

Una splash Form
 
En cuanto a lo de tu primera consulta, ese formulario de presentación normalmente se le llama Splash Form yo hago lo siguiente aunque no estoy seguro si es lo correcto:

Creo un formulario llamado frmSplash, le asigno propiedades adecuadas, por ej. sin bordes, Position:= poScreenCenter, un color llamativo, le pongo uno o dos Labels para tener un poco de escritura, un Image con el logo de la aplicación o de la empresa, etc. y después en el archivo del proyecto hago lo siguiente:

Añado Windows al uses, ya que utilizo la función Sleep y también añado (si no está) la unit de la SplashForm

Código Delphi [-]
uses
  Forms,
  Messages,
  Windows,
  MainForm in 'MainForm.pas' {frmMain},
  SplashForm in 'SplashForm.pas' {frmSplash},

Y dentro del begin y end principal del archivo de projecto hago esto:

Código Delphi [-]
  Application.Initialize;
  Application.Title:= 'Conteo por Códigos';
  frmSplash:= TfrmSplash.Create(nil);              // Creo la SplashForm
  frmSplash.Visible:= True;                            // La hago visible
  frmSplash.Update;                                     // Un Update no está de más
  Sleep(2000);                                            // Hago una pausa
  Application.CreateForm(TfrmMain, frmMain);  // Se crean los otros forms
  Application.CreateForm(TDM, DM);              // Se crean los otros forms
  frmSplash.Free;                                       // Destruyo mi SplashForm
  Application.Run;                                      // Ya cargó aquí la aplicación

Sobre tu otra consulta, todavía no entiendo muy bien que es lo que quieres.

Petolansa 13-12-2007 20:47:07

Disculpa mi ignorancia pero en que parte iria eso que me decis entre el begin y el end principal?

Saludos!:)

sitrico 14-12-2007 02:50:25

Se hace dentro del bpg no delform principal (en el boton para ver los formularios debes ver uno con el nombre de la aplicación).
Aunque mejor dejo que Faust te explique mejor donde :rolleyes:

En cuanto al Sleep(2000) yo haco lo siguiente:

En el SplashForm coloco un tTimer con un intervalo de 2000 (ó la cantidad de milisegundos que quieras) deshabilitado, luego en el evento onShow del SplashForm hago:

Código Delphi [-]
Timer1.enabled := true; // activar el timer

Y en el evento onTimer hago

Código Delphi [-]
Hide; // Ocultar el formulario

De esa forma al mostrar el formulario se inicia un timer de x Seg. transcurrido ese tiempo se oculta automáticamente, a diferencia del Sleep(2000) que para tu aplicacion por 2 Seg, el método que explico no detiene la ejecución del programa.


La franja horaria es GMT +2. Ahora son las 19:29:56.

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