Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 18-06-2014
Avatar de ElDioni
[ElDioni] ElDioni is offline
Miembro Premium
 
Registrado: jul 2005
Ubicación: Murcia (España)
Posts: 935
Poder: 20
ElDioni Va por buen camino
Combobox se queda por debajo del Form

Buenos días a todos,

tengo un problema con un Combobox o con la forma en que estoy trabajando, les pongo en situación, tengo un programa de mensajería interna que cuando muestra un mensaje, se pone delante de todas las aplicaciones abiertas con la propiedad FormStyle:=FsStayOnTop. Ocurría en algunas ocasiones que el Form daba como un fogonazo y se quedaba detrás y no delante (cuando el usuario estaba usando otra aplicación), entonces puse un timer dentro del formulario para que cada 2 segundos volviera a llevar el formulario al frente. Lo que ocurre es que en el formulario tengo un combobox que al desplegarse se muestra pero que, en cuanto el formulario vuelve a ponerse en FsStayOnTop, la lista desplegada del combo queda oculta por el form y hay que volver a pulsar el desplegable para ver la consulta, he intentado repintarlo pero solo repinta el combo (que no se oculta nunca) pero no la lista desplegada.

Alguien se le ocurre como arreglarlo.

Gracias de antemano.

Saludos.
__________________
Confórmate con lo que tienes pero anhela lo que te falta.
Responder Con Cita
  #2  
Antiguo 18-06-2014
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.119
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Tal vez el "Timer" no sea una buena idea. Incluso viniendo de ti. Al menos deberías controlar que el "Timer" no se ejecute una vez el usuario "esté" en el formulario. Pero como ves aquí pueden empezar más problemas. Por eso el "Timer" puede no ser una buena idea. Prueba con un método del formulario como "BringToFront" además del "style on top". Mira a ver primero sin usar esto último, sólo con el "BrigToFront". A lo mejor otro compañero también puede echarte una mano. Yo sólo venía a decir que el "Timer" no me parece una buena idea y que incluso puede ser el culpable de la "ocultación" de la lista...
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #3  
Antiguo 18-06-2014
Avatar de ElDioni
[ElDioni] ElDioni is offline
Miembro Premium
 
Registrado: jul 2005
Ubicación: Murcia (España)
Posts: 935
Poder: 20
ElDioni Va por buen camino
Hola dec,

yo entendía que el bringtofront solo era para traer componentes al frente pero dentro de la misma aplicación, y lo que quiero es que se quede encima de todas las aplicaciones que se estén ejecutando en ese momento, de todas formas lo he probado y no funciona, ya suponía que el timer no es la mejor opción y es el que, al volver a poner el form on top, me deja detrás la lista desplegada del combo, solo la lista desplegada, no el combo en si, lo se porque si despliego la lista y una parte de ella queda fuera del formulario solo se tapa la parte que queda dentro del formulario y el resto se sigue viendo por detrás.
En su día me di cuenta de que si la aplicación la ejecuto en local el form no fallaba y siempre se iba al frente, pero que al estar en red si que se queda en alguna ocasión por detrás de la aplicación activa. Por eso he puesto el timer, para refrescar el FsStayOnTop.
Si se te ocurre algo más quedo a la espera.

Gracias por tu tiempo y tu respuesta.

Saludos.
__________________
Confórmate con lo que tienes pero anhela lo que te falta.
Responder Con Cita
  #4  
Antiguo 18-06-2014
Avatar de ElDioni
[ElDioni] ElDioni is offline
Miembro Premium
 
Registrado: jul 2005
Ubicación: Murcia (España)
Posts: 935
Poder: 20
ElDioni Va por buen camino
Hola de nuevo,

¿existe alguna forma de saber si mi programa es el que está encima de todos los programas?, como windows sabe que programa es el que está activo en ese momento pues preguntarle cual es.

Saludos.
__________________
Confórmate con lo que tienes pero anhela lo que te falta.
Responder Con Cita
  #5  
Antiguo 18-06-2014
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.119
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

El propio formulario cuenta con un método "BrigToFront", pero ignoro si servirá o no de algo en tu caso. Respecto del "Timer"... prueba a no poner "on top" el formulario si este ya se encuetra "on top". Igual lo que dices de que se trata de una aplicación "en red" tenga algo que ver también. Prueba otra forma de avisar al usuario: había alguna función por ahí a modo de indicador para el icono de la aplicación en la barra de tareas, haciéndolo "parpadear"... para avisar al usuario. O bien otra forma de avisarlo como un "globo" en la bandeja del sistema o algo así. Yo probaría primero que nada a no estar ejecutando el "on top" en el "Timer" a cada intervalo del mismo...
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #6  
Antiguo 18-06-2014
Avatar de ElDioni
[ElDioni] ElDioni is offline
Miembro Premium
 
Registrado: jul 2005
Ubicación: Murcia (España)
Posts: 935
Poder: 20
ElDioni Va por buen camino
Hola David,

en un principio se hacía parpadear la barra de herramientas, lo hacía la propia aplicación cuando se restauraba ya que la aplicación se encuentra en el area de notificaciones, pero no se enteraban de nada. tengo comprobado que, en mi empresa, o les das con los avisos en los morros o no los ven. Por eso te preguntaba de si hay alguna opción de saber si la aplicación ya está OnTop, es decir, está por encima de las demas, por lo menos haría la comprobación en el timer y no tendría que estar poniendolo en OnTop todo el rato.

Saludos.
__________________
Confórmate con lo que tienes pero anhela lo que te falta.
Responder Con Cita
  #7  
Antiguo 18-06-2014
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.119
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Yo me refiero sólo a comprobar que "FormStyle <> fsStayOnTop". Es decir, a poner "on top" el formulario una sóla vez, para tratar de evitar el problema.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
Respuesta



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
Pasar campos de la tabla localidad a un combobox de el form paciente... y_a_p Varios 20 16-01-2012 15:28:26
mdiChild que se ve por debajo quimeras Varios 1 13-02-2009 10:26:04
combobox con form arespremium OOP 3 14-08-2007 00:55:13
QRimage debajo lineas detall encima..? kia Impresión 0 14-06-2006 20:14:54
Aplicacion por debajo de todas Marcos API de Windows 1 21-12-2004 18:46:15


La franja horaria es GMT +2. Ahora son las 01:08:14.


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