FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Funcion/Procedure para cambiar propiedades de varios Panels
Buenas colegas. Anduve indagando y no logre dar con lo que pretendo. Tengo varios Paneles en un form que van cambiando de color al medida que pasa el mouse, (como si fueran botones). El problema es que debo programar los cambios de color para cada panel, asumo que debe haber una manera de crear una función que haga eso pasandole como parámetro el nombre del panel pero no encontré la manera.
|
#2
|
|||
|
|||
En realidad lo que hago es una barra de botón mas elegantes que los clásicos de Delhpi. Si conocen alguna VCL para Community que tenga botones mas elegantes
|
#3
|
||||
|
||||
Hola.
Una opción sería controlar el nombre del panel en el evento asignado a los paneles cuando el cursor ingresa al control y cuando lo abandona. En este momento sólo tengo a mano Delphi 7 por lo que debo interponer la clase y resulta algo similar a:
Resultando: Pero, dado que estas usando la última versión de Delphi, ya dispones de los eventos OnMouseEnter y OnMouseLeave. En ellos podes acceder al control actual vía el parámetro Sender de tipo TObject:
Saludos
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#4
|
|||
|
|||
Gracias a todos.
Efectivamente estuve haciéndolo en el evento onmouseMove/Leave respectivamente, pero uno por uno,
De hecho me ocurrió algo extraño, una vez que se hace clic sobre ese panel no vuelve mas a su color original, se queda gris oscuro hasta que se cierra la aplicación pero el evento MouseLeave si se dispara. |
#5
|
|||
|
|||
#6
|
||||
|
||||
Hola.
Hice nuevamente una prueba ya sobre Delphi Tokyo y no me sucede la persistencia del color luego del click (es decir que vuelve a su color original):
Resultado: Saludos
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#7
|
||||
|
||||
Hola
Cita:
Puedes asignar el mismo contolador de evento a todos los paneler del form. Luego para identificar el panel que desencadeno el evento tenes el parametro sender. Podrias hacer:
Espero sea util Saludos
__________________
Caminante, son tus huellas el camino y nada más; Caminante, no hay camino, se hace camino al andar. Antonio Machado |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Funcion o procedure para apagar sub carpetas | Paulao | Varios | 4 | 20-07-2011 18:15:26 |
Funcion cambiar propiedades componente(variable) | Dclase | Varios | 7 | 17-06-2011 14:37:48 |
Como crear varios panels | Lupita | Varios | 2 | 17-07-2008 10:27:02 |
Funcion generica para crear varios forms | Carlos Arevalo | Varios | 9 | 06-05-2008 19:04:08 |
Como hacer para que una funcion regrese varios valores | jangel_ramirezm | Varios | 11 | 07-03-2008 23:14:49 |
|