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 17-10-2018
usuario1000 usuario1000 is offline
Miembro
 
Registrado: nov 2016
Posts: 86
Poder: 8
usuario1000 Va por buen camino
Problemas al mostrar ventanas de la aplicación

Buenas noches,



Ante todo dar las gracias por vuestra ayuda desinteresada.


Tengo una aplicacion hecha en la que todos los formularios las abro en "ShowModal" es decir, que hasta que no se cierra dicho formulario no deja interactuar con el anterior que lo llamó. Pues bien, tengo el formulario principal.showmodal, este llama a otro formulario que se llama seleccioncriterios.showmodal y cuando elijo los criterios y le doy a "aceptar" se llama a otro formulario con una tabla donde muestra los resultados(resultados.showmodal). Pues ocurre que muchas veces el formulario donde se muestran los resultados aparece por detrás de la ventana de "seleccioncriterios.showModal" que es la que le precede y que deberia quedar por detrás.


No siempre actua así, pero sí bastantes veces, con lo que el usuario pincha en la ventana que se muestra "seleccionCriterios.Showmodal" y lógicamente no hace nada, puesto que la activa es la ventana de los resultados y que queda por detras de la selección de criterios, creando desconcierto en el usuario.


A alguien se le ocurre alguna cosa de por qúe actua así los formularios si voy abriendolos siempre en "showModal" para que una ventana siempre quede encima de la otra y no deje tocar la anterior hasta que se cierra la ventana activa.


Perdón por el tocho.


Gracias a todos.
Responder Con Cita
  #2  
Antiguo 18-10-2018
CarlosReyesg CarlosReyesg is offline
Miembro
 
Registrado: ago 2010
Posts: 21
Poder: 0
CarlosReyesg Va por buen camino
Cita:
Empezado por usuario1000 Ver Mensaje
Buenas noches,



Ante todo dar las gracias por vuestra ayuda desinteresada.


Tengo una aplicacion hecha en la que todos los formularios las abro en "ShowModal" es decir, que hasta que no se cierra dicho formulario no deja interactuar con el anterior que lo llamó. Pues bien, tengo el formulario principal.showmodal, este llama a otro formulario que se llama seleccioncriterios.showmodal y cuando elijo los criterios y le doy a "aceptar" se llama a otro formulario con una tabla donde muestra los resultados(resultados.showmodal). Pues ocurre que muchas veces el formulario donde se muestran los resultados aparece por detrás de la ventana de "seleccioncriterios.showModal" que es la que le precede y que deberia quedar por detrás.


No siempre actua así, pero sí bastantes veces, con lo que el usuario pincha en la ventana que se muestra "seleccionCriterios.Showmodal" y lógicamente no hace nada, puesto que la activa es la ventana de los resultados y que queda por detras de la selección de criterios, creando desconcierto en el usuario.


A alguien se le ocurre alguna cosa de por qúe actua así los formularios si voy abriendolos siempre en "showModal" para que una ventana siempre quede encima de la otra y no deje tocar la anterior hasta que se cierra la ventana activa.


Perdón por el tocho.


Gracias a todos.
no me queda claro lo que describes...!!!
puedes hacerlo alterando el orden de mostrar los formularios
puedes usar el API de Windows
en el evento Create de formulario
copia este código

Código Delphi [-]
SetWindowPos(Handle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NoMove or SWP_NoSize);

saludos
Responder Con Cita
  #3  
Antiguo 18-10-2018
orodriguezca orodriguezca is offline
Miembro
 
Registrado: ene 2009
Posts: 221
Poder: 16
orodriguezca Va por buen camino
A veces ocurre que el formulario que ejecuta el método Showmodal recibe algún mensaje de Windows justo antes de que se visualice la nueva ventana y por eso se muestra encima de todas las demás. Una forma de evitar este efecto es desactivando la ventana invocadora:

Código Delphi [-]
procedure TForm2.Button1Click(Sender: TObject);
begin
  Self.Enabled := False;
  try
    Form3.ShowModal;
  finally
    Self.Enabled := True;
  end;
end;

También puede ser que alguno de tus formularios tenga establecida la propiedad FormStyle a fsStayOnTop; Esto afecta el orden de visualización de las ventanas y bajo ciertas circunstancias puede generar el efecto que mencionas.
Responder Con Cita
  #4  
Antiguo 18-10-2018
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 usuario1000 Ver Mensaje
Tengo una aplicacion hecha en la que todos los formularios las abro en "ShowModal"
Creo que no es un comportamiento "normal", aunque lo normal siempre depende de las circunstancias.
Si puedes cambiarlo, yo pensaría en variarlo porque no es estandard y puede provocar cosas "raras" como las que te pasan.



Si por lo que sea no puedes cambiarlo, tendrás que controlarlo, tal vez manteniendo en memoria una lista de ventanas abiertas y controlar tú manualmente el orden en pantalla de cada una de ellas.
__________________
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
  #5  
Antiguo 19-10-2018
usuario1000 usuario1000 is offline
Miembro
 
Registrado: nov 2016
Posts: 86
Poder: 8
usuario1000 Va por buen camino
Gracias a todos por las aportaciones.
Me pongo a trabajar en ello, a ver si lo soluciono, con vuestros consejos.
Un millón de gracias.
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
Mostrar y ocultar ventanas por PID Ramsay Varios 2 30-01-2016 05:51:52
Problemas al abrir nuevas ventanas (Formularios) y mostrar imágenes... zeta2 Varios 2 23-04-2013 19:47:43
Ventanas Hijas en Aplicacion MDI Esau OOP 6 06-11-2007 19:23:56
Aplicacion con varias ventanas salvanano Varios 5 04-05-2007 04:00:18
Mostrar ventanas MDIChil brandolin Varios 1 11-06-2005 05:29:03


La franja horaria es GMT +2. Ahora son las 22:16:36.


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