Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-04-2004
IVAND IVAND is offline
Miembro
 
Registrado: may 2003
Ubicación: ECUADOR
Posts: 523
Poder: 21
IVAND Va por buen camino
Ventanas,Ventanas Mdi=Dolor de cabeza ?

Hola a todos


Mi pregunta es la siguiente,el uso de ventanas Padres e hijas esta claro para mi, pero me planteo una duda, como puedo hacer para crear una pantalla de presentacion y luego de esta la pantalla de menus que sera padre y contendra a las hijas , como se debe definir la primera pantalla, porque e intentado de todo y me da un error indicando que una ventana esta en ejecucion MDI


Por su interes a este dolor de cabeza


Gracias
__________________
IVAND
Responder Con Cita
  #2  
Antiguo 05-04-2004
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
En Projects --> view source

Ahí creas la pantalla de presentacion nada mas empezar, haces un Update de dicha pantalla y al final, antes de Application.run, haces un Free de la pantalla.

Saludos
Responder Con Cita
  #3  
Antiguo 05-04-2004
IVAND IVAND is offline
Miembro
 
Registrado: may 2003
Ubicación: ECUADOR
Posts: 523
Poder: 21
IVAND Va por buen camino
Gracias por tu respuesta

Voy a probar nuevamente , pero me parece que ya lo hice y el error persiste , aunque lo logico es destruir la ventana y asi es como si nunca hubiera sido ejecutada :-)


Reviso y te comento
__________________
IVAND
Responder Con Cita
  #4  
Antiguo 05-04-2004
Avatar de kalimero
kalimero kalimero is offline
Miembro
 
Registrado: may 2003
Ubicación: Alicante
Posts: 288
Poder: 21
kalimero Va por buen camino
Hola.
Solo un formulario ha de tener la propiedad FormStyle = fsMDIForm.
Ese será el padre , en tu caso la de menus. El resto han de tener la propiedad fsMDIChild.
Saludos
Responder Con Cita
  #5  
Antiguo 05-04-2004
Avatar de Nuria
Nuria Nuria is offline
Miembro
 
Registrado: may 2003
Posts: 531
Poder: 21
Nuria Va por buen camino
Hola!

Añadir a lo que ha dicho Kalimero, que si la ventana Child la quieres abrir como Modal, tendrías que hacer lo siguiente:

Código:
  form:=Tform.Create(self);
  try
    form.FormStyle:=fsNormal;
    form.Visible:=false;
    form.ShowModal;
  finally
    form.Free;
  end;
De lo contrarío te dará un error. Si la quieres abrir como NO Modal :

Código:
form:=Tform.Create(self);
  try
    form.Show;
  finally
    form.Free;
  end;
Espero que te sirva de ayuda... Saludos!
Responder Con Cita
  #6  
Antiguo 06-04-2004
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
IVAND, me vas a perdonar, pero despues de ver las 2 respuestas anteriores, ya dudo que lo haya entendido bien.

Pongo un ejemplo: Cuando abres delphi, lo primero que aparece es la ventana con el logotipo, y pasados unos segundos, cuando ha cargado el resto de la aplicación, la ventana del logotipo se cierra. ¿la ventana del logotipo es lo que quieres hacer?

Si es así, debes seguir estos pasos:
La ventana de presentacion debe tener FormStyle := fsnormal ya que es la primera que se creará y por tanto, la MDI aún no se ha creado.

Projects --> View Source y editas el contenido

Código:
  Application.Initialize;
  FrmCredits := TFrmCredits.Create(nil); 
  FrmCredits.Show;
  FrmCredits.Update;
//  los mensajes de redibujado tienen poca prioridad y los deja para el final.
// Así que obligamos a que se dibuje en pantalla con el Update.
                         

  // creacion del resto de ventanas
  // la MDI principal y algunas auxiliares que necesites.

  FrmCredits.Free; // si usas un timer quita esta linea
  Application.Run;
Si en autocreate solo tienes 1 o 2 ventanas, probablemente ni saldrá la ventana de presentación, en tal caso, en el OnShow de la ventana, activa un timer para que se quede al menos 2 segundos; y en el Evento OnTimer haz un FrmCredits.Release;

Saludos
Responder Con Cita
  #7  
Antiguo 06-04-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 27
jachguate Va por buen camino
Solo agregar a la magnifica respuesta de Lepe que a esta Ventana del logotipo, normalmente se le llama Splash o SpashScreen. Si usas esta palabara para buscar en los foros vas a encontrar varias soluciones.

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #8  
Antiguo 08-05-2006
marlok marlok is offline
Registrado
 
Registrado: dic 2005
Posts: 8
Poder: 0
marlok Va por buen camino
Espero que te sirva, cuando necesité hacer esto, lo que hice fue setear la propiedad Application.ShowMainForm:= false, mostrar el Splash y cuando se cierra ponerla nuevamente en true.
quedaria asi.
Código Delphi [-]
application.inicialize;
Application.ShowMainForm:= false;
Application.CreateForm(TModDatos, ModDatos);
Application.CreateForm(TMDIPrincipal, MDIPrincipal);
Application.CreateForm(TFlogueo, Flogueo); (este es el splash)
Application.Run;
en el OnCLose del Splash pones:
Código Delphi [-]
Application.ShowMainForm:= true;

a mi me funcionó de maravillas.

P/D: lo de poner el timer para que se quede un tiempo la pantalla es buena idea.

Saludos.

Última edición por marlok fecha: 08-05-2006 a las 18:29:28.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 20:39:30.


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
Copyright 1996-2007 Club Delphi