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 19-02-2009
Avatar de CarlosHernandez
CarlosHernandez CarlosHernandez is offline
Miembro
 
Registrado: oct 2003
Posts: 139
Poder: 21
CarlosHernandez Va por buen camino
Form Principal Modal

Hola a todos! tengo un problema. yo necesito colocar en algun momento mi form principal como modal. eso lo hago con ShowModal. funciona correctamente, solo que el form principal al ser llamado modal se me coloca detras de la ventana secundaria que tengo abierta. he probado con bringtofront. sendtoback. stayontop. de verdad ya no se que probar.
__________________
begin
Elverdugo79@hotmail.com
end;
Responder Con Cita
  #2  
Antiguo 19-02-2009
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Poder: 0
coso Va por buen camino
hola, si a la ventana "secundaria" la llamas con showmodal tambien, es normal que te aparezca en primer plano. Si no es el caso, X/ deberas explicarnos mejor como son las forms, pues seria bastante raro. saludos.
Responder Con Cita
  #3  
Antiguo 20-02-2009
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.233
Poder: 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
Yo también voto por algo de código.
__________________
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
  #4  
Antiguo 20-02-2009
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Cita:
Empezado por Neftali Ver Mensaje
Yo también voto por algo de código.
Y yo también .

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #5  
Antiguo 25-02-2009
Avatar de CarlosHernandez
CarlosHernandez CarlosHernandez is offline
Miembro
 
Registrado: oct 2003
Posts: 139
Poder: 21
CarlosHernandez Va por buen camino
ok, tengo mi form principal y uno secundario, cuando intento llamar modal desde el form secundario a mi form principal, este se pone detras del secundario, pero si llamo desde mi form secundario otro secundario si lo muestra en el frente normal.

el formstyle es fsnormal, y los llamo

Código Delphi [-]
formppal.showmodal;


y lo raro es que solo pasa con el form principal
__________________
begin
Elverdugo79@hotmail.com
end;
Responder Con Cita
  #6  
Antiguo 25-02-2009
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 21
AzidRain Va camino a la fama
Es simple y obvio: El form principal en todo momento está activo pues cuando lo cierras terminas la aplicación, luego cada formulario que abras o llames como ShowModal desde algun punto del form principal, se mostrara siempre encima del último form modal abierto (en este caso el principal). Ahora bien, cuando quieres "mostrar" tu form principal desde un form modal que esta abierto lo único que haces es pasarle el foco al form principal y como aun no cierras el form secundario, simplemente queda detrás.

Ignoro que pretendes hacer al llamar al form principal desde uno que ya esta abierto, en todo caso tienes que cerrar el form secundario para regresar al principal.
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita
  #7  
Antiguo 25-02-2009
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.233
Poder: 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
Cita:
Empezado por Neftali Ver Mensaje
Yo también voto por algo de código
Cita:
Empezado por CarlosHernandez Ver Mensaje
el formstyle es fsnormal, y los llamo
Código Delphi [-]
formppal.showmodal;

Vale.
Pensaba en "algo más" de código.
__________________
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
  #8  
Antiguo 25-02-2009
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Yo, la verdad que no le veo sentido a querer mostrar el formulario principal desde uno secundario, por algo es el principal.

Quizá, si Carlos nos explica más acerca de lo que está haciendo (yo no pido código sino un caso de uso) podríamos indicarle un mejor camino.

Esperemos que no tarde otros cinco dias

// Saludos
Responder Con Cita
  #9  
Antiguo 26-02-2009
Avatar de CarlosHernandez
CarlosHernandez CarlosHernandez is offline
Miembro
 
Registrado: oct 2003
Posts: 139
Poder: 21
CarlosHernandez Va por buen camino
Cita:
Esperemos que no tarde otros cinco dias
jeje, sorry por durar tanto en contestar pero me fui de viaje aprovechando los dias de carnaval.

ok la aplicacion comienza con una pantalla de login y contraseña para accesar al sistema, y por defecto es la primera que se crea (por eso digo que es la principal), a lo que entre al sistema, la mayorias de los otros formularios que lo conforman tienen un boton de cambio de usuario y pretendo mostrar mi form1 (el del login) como modal, pero como es el principal ya que es el primero que se crea me lo muestra destra del formulario desde el cual lo llamo, y solo pasa con este formulario.

probe otra aplicacion haciendo un form principal y uno secundario y pasa exactamente lo mismo osea que es cuestion del formulario que se crea primero.

en la aplicacion probe poniendo primero que se creara otro form, y llamo a mi form de login y perfecto se muestra correctamente, pero lo coloco que se cree primero y sigue igual, me desabilita en donde estoy parado y muestra habilitado pero detras.

amigo Neftali no coloco mas codigo porque es el unico que utilizo para llamarlo, pero dime que quieres que coloque y sin problema lo publico..

Código Delphi [-]
form1.showmodal;


una solucion que encontre fue mostrar el form que tengo de menu del sistema(lo puse como principal) y en el onactivate hacer que muestre el form1(el del login y ya quedo como secundario) con el codigo que ya les puse arriba.

todo bien pero me salio otro error, y es que cuando lo muestra no coloca por defecto el setfocus en el edit del login, y en el form1( login) en el evento onactivate y/o en el onshow coloque

Código Delphi [-]
edit1.setfocus;

pero nada, incluso hice un timer y nada, y solo ocurre cuando abro por primera vez la aplicacion porque luego si muestra el setfocus normal desde cualquier form que lo llame....


no se que mas decirles, solo que lo probe en delphi 6 y 2007...

gracias
__________________
begin
Elverdugo79@hotmail.com
end;

Última edición por CarlosHernandez fecha: 26-02-2009 a las 02:20:18.
Responder Con Cita
  #10  
Antiguo 26-02-2009
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por CarlosHernandez
la aplicacion comienza con una pantalla de login y contraseña para accesar al sistema, y por defecto es la primera que se crea (por eso digo que es la principal)
Por aquí hubieras empezado

Como has notado, el primer formulario que se crea es el principal. Pero esto no es totalmente cierto. Más exacto es decir que el primer formulario que se crea con Application.CreateForm es el principal.

En otras palabras, es CreateForm el que establece quién será el formulario principal. Pero dicho método no es el único para crear formularios. Lo usual aquí es modificar a mano el archivo dpr que normalmente se ve así:

Código Delphi [-]
program Project1;

uses
  Forms,
  uMain in 'uMain.pas' {MainForm},
  uLogin in 'uLogin.pas' {LoginForm};

{$R *.res}

begin
  Application.Initialize;
  Application.CreateForm(TLoginForm, LoginForm);
  Application.CreateForm(TMainForm, MainForm);
  Application.Run;
end.

Entonces, para que no se interprete a LoginForm como el principal, pero que aún así sea el primero que ve el usuario, tienes que crearlo de otra forma, por ejemplo:

Código Delphi [-]
program Project1;

uses
  Windows, // para la constante ID_OK
  Forms,
  uMain in 'uMain.pas' {MainForm},
  uLogin in 'uLogin.pas' {LoginForm};

{$R *.res}

begin
  Application.Initialize;

  LoginForm := TLoginForm.Create(Application);
  if LoginForm.ShowModal = ID_OK then
  begin
    LoginForm.Free; // o LoginForm.Hide
    Application.CreateForm(TMainForm, MainForm);
  end;

  Application.Run;
end.

// Saludos
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Tamaño y posición de Form modal Wiarbumu Varios 3 23-07-2008 23:15:54
Devolver foco desde Form No Modal al control llamante gluglu Varios 8 22-06-2007 09:35:41
Form modal deja que el form llamante tome el foco tata Varios 6 17-05-2006 12:51:37
Acceder a form modal desde módulo de datos jcheco Varios 3 31-01-2006 18:18:22
Saber si una Form es modal Delfino Varios 3 18-09-2005 05:12:14


La franja horaria es GMT +2. Ahora son las 17:30:05.


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