FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Creando un componte despleglable que sobresalga por encima del padre
Hola :
Estoy haciendo un componente el de la "derecha" de la imagen y quisiera saber si alguien me puede decir como logra el componente TComboBox basico de la "Izquierda" de la imagen , esa característica que se ve de sobresalir por encima de el Padre. Mi componente es algo parecido a un ComboBox con un panel desplegable debajo que contiene un Edit y un ListBox , hereda de TCustomControl pero quisiera poder mostrar al desplegar el panel si esta muy próximo a el final del padre que sobresalga por encima del padre, como lo hace TComboBox Básico de toda la vida jj. Alguien me puede dar una idea como hacerlo? Última edición por juank1971 fecha: 14-06-2023 a las 17:25:12. |
#2
|
||||
|
||||
Mira como se utilizan los popUpMenu.
Ahora no tengo a mano Delphi como para darte un ejemplo, pero si no recuerdo mal, en el evento que desees (OnClick por ejemplo) le dices qué popUp quieres abrir y en qué posición. El popUp se compone de MenuItems. Algo así:
|
#3
|
|||
|
|||
ok gracias
|
#4
|
||||
|
||||
Cita:
Yo creo que depende de cómo hayas creado el elemento que debe sobresalir. Al final es una nueva ventana (TWincontrol). Revisa el Parent que le estás asignando. El problema es que sin más información es difícil.
__________________
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. |
#5
|
|||
|
|||
mas detalles
saludos, este es el código del componente o al menos del inicio.
En resumen de lo que quiero es un componente muy parecido a un DBlookupComboBox, pero con diferencias en estilos y en accesos a datos. Quise crear un componente heredando de TCustomControl, un TEdit sin bordes , con una línea debajo de este y una pequeña fecha a la derecha, cuando pasas el mouse por encima del componente se pone verde la línea y la flecha, cuando lo quitas se ponen gris. Al dar click en el TEdit , este esta asociado a datos muy parecido al Lookup, pero con búsquedas diferentes y personalizadas, entonces los muestro en una lista despleglable con un TForm (no encontré otra manera de mostrar para que sobresalga de un borde del padre) y dentro un listbox, que va creando o mostrando según escribes letras en el TEdit en onChange. al escoger un elemento de este listbox se muestra en el Tedit. y se destruye el Tform el problema que tengo es que, pensé que podía destruir el Tform al perder el foco con procedure WMKillFocus(var Message: TWMSetFocus); message WM_KILLFOCUS; pero como dentro del componente creo un Tform y lo muestro debajo, ya perdí el foco de mi componente para mostrar estos resultados que quiero escoger en la lista de Tform. No se si me explique bien pero lo que tengo es lo mismo que un DBlookupComboBox, que lo que se muestra debajo es un Tform con un listbox dentro, y no veo la manera de poder hacer el FreeAndNil(FForma); correctamente.
|
#6
|
|||
|
|||
ya funciona
ya con estos cambios logre que funcione como quiero, agregé el evento FormDeactivate en la FForma y al perder esta el foco se autodestruye
era eso lo que quería, se despliega la lista con el FForma y el listbox dentro, pero al perder el foco se destruye , por ejemplo si el usuario sin escoger ningún item del listbox da click en otro lugar del formulario, entonces este se detruye . este es el código funcionando por si alguien quisiera usarlo
|
#7
|
||||
|
||||
Gracias por el aporte.
__________________
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. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
ayuda con componte Tpagecontrols | microbiano | Varios | 2 | 05-02-2011 06:19:47 |
Siempre Encima. | Cecilio | Varios | 4 | 23-11-2007 10:55:54 |
Imagen encima de todo | orodruin | OOP | 4 | 14-11-2005 10:32:55 |
MDIChild encima | vtdeleon | OOP | 2 | 20-02-2005 12:49:24 |
Ayuda para un componte que conecte a firebird 1.5 | ronimaxh | Conexión con bases de datos | 1 | 28-11-2003 22:21:43 |
|