FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
Componente que se oculte al hacer click fuera de él.
Buenas tardes.
Llevo buscando desde hace algún tiempo un componente o código, que permita que un TPanel (o similar) se oculte al hacer click fuera de él. Cuando digo fuera me refiero a que puedo hacer click en cualquier parte de la aplicación, así que no se sobre que componente lo haré. No he encontrado nada que me resulte efectivo 100%. Espero vuestros consejos y gracias de antemano.
__________________
http://www.gestionportable.com |
#2
|
||||
|
||||
Pero eso te corresponde a ti decidirlo, puedes crear un procedimiento al que asignes como evento onlick a todos los componentes, incluido el formulario, menos al panel.
|
#3
|
||||
|
||||
Gracias por la idea Casimiro, pero necesito una solución global. No se lo que puede haber fuera del panel. Ese panel puede aparecer en cualquier momento y necesito que se oculte al hacer click en cualquier punto de la pantalla fuera de él. Debería funcionar como un popup menú.
__________________
http://www.gestionportable.com |
#4
|
||||
|
||||
Ah, vale, entonces ese panel lo abres sobre otro transparente que ocupe por completo la pantalla, así, pulses donde pulses, estarás haciéndolo sobre ese otro panel transparente.
|
#5
|
||||
|
||||
Sólo se me ocurre que utilices un Edit (por ejemplo) dentro del panel y aproveches el evento OnExit del Edit para ocultar el panel.
Das pocos detalles más, de la aplicación, de lo que habrá en el TPanel, de cuando y cómo lo vas a visualizar,... así que no se si esto cuadra con lo que necesitas... Este ejemplo ilustra lo que quiero decir Es la solución que se me ocurre para que no tengas que tocar nada el resto de componentes del form ni de la aplicación. Lo único es que al visualizar el panel, debes pasar el foco al Edit. Revisa el código del ejemplo.
__________________
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. |
#6
|
||||
|
||||
Hola pacopenin.
Otra opción es : Formulario en que se encuentra el Panel,
Formulario principal, Me apego a lo que solicitas en tu mensaje "hacer click en cualquier parte de la aplicación". En el ejemplo, el panel será visible nuevamente cuando se destruya y cree el formulario que lo contiene. Saludos
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#7
|
||||
|
||||
Gracias a los dos por las ideas aportadas.
La verdad es que en Lazarus hay unos componentes llamados Luicontrols (LuiPack) que tienen uno llamado dropdownmanager que hace exactamente eso con cualquier elemento visual y funciona muy bien. Desgraciadamente mis conocimientos no dan para adaptarlo a Delphi, a pesar de ser poco código. https://code.google.com/p/luipack/so...ownmanager.pas Imagino que tiene que haber forma de interceptar de algún modo el evento click a nivel global y saber si está (por coordenadas) dentro o fuera del panel. A ver si me explico. La aplicación genera unos mensajes (alertas) que aparecen en pantalla dentro de un panel. Dicho panel tiene un botón de cerrar, pero me han pedido que funcione como el previsualizador de imagenes de las webs, que al dar click fuera de ellas se cierran. El concepto es bastante sencillo, pero no acierto a dar con algo que funcione como deseo. Probaré lo que comentais.
__________________
http://www.gestionportable.com |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
llamar formulario al hacer click en un tabSheet del componente PageControl | novato_erick | OOP | 9 | 06-09-2012 21:55:09 |
Como hacer que mi aplicacion oculte otra | mefixxto | API de Windows | 1 | 27-10-2010 17:39:10 |
Como hacer conexion con sql server fuera de la ciudad. | uper | MS SQL Server | 1 | 06-12-2007 21:19:40 |
Hacer una pausa fuera del evento OnTimer y sin usar Sleep | DarkByte | Varios | 9 | 28-06-2007 04:08:00 |
Hacer invisible un grid al pulsar fuera | apicito | OOP | 2 | 27-06-2003 13:38:53 |
|