PDA

Ver la Versión Completa : Formulario activo siempre, y formulacio inicio que desaparezca tras 5 o 6 segundos


Petolansa
13-12-2007, 05:25:45
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
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


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:


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:

Timer1.enabled := true; // activar el timer

Y en el evento onTimer hago

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.