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.
|
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
|
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 |
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 :) |
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. |
|
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 :) |
Gracias a todos. El error de colorear paneles se resolvió borrando el panel en cuestión y creándolo de nuevo, ahora si funciona.
|
La franja horaria es GMT +2. Ahora son las 15:13:40. |
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