Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 03-02-2009
rrf rrf is offline
Miembro
 
Registrado: ago 2003
Ubicación: S/C Tenerife, España
Posts: 454
Poder: 21
rrf Va por buen camino
Smile Un boton 3D con color con componentes de la VCL

Hola a tod@s.

Esto no es una pregunta, sino que trata de ser una aportación a quien le pueda interesar. Aclaro que uso Delphi 5 Pro.

Me gusta usar botones que den la sensación de 3 dimensiones, pero hasta ahora me resultaba complicadillo porque no quería usar componentes de terceros y la forma en que lo hacía era bastante engorrosa.

Sin embargo, en un hilo que leí hace unos días, se sugería el usar un componente Panel para simular un botón en color.

Partiendo de esa idea y añadiéndole algunas otras cositas, he hecho un combinado de 4 componentes (3 etiquetas y 1 panel, con 2 eventos) que, en conjunto funcionan como un botón 3D. Bueno, la verdad es que me ha gustado tanto que me he atrevido a compartirlo, por si a otras personas le puede resultar útil.

Parece demasiado engorroso trabajar con 4 componentes para crear un botón; sin embargo, aquí hay que aplicar un truco para crear un Template (que viene a ser como un componente en la práctica).

Para crear el Template, se marcan todos los componentes. Se abre el menú COMPONENT y se selecciona CREATE COMPONENT TEMPLATE. Luego se le da un nombre y se indica en qué paleta de la VCL queremos que nos lo grabe.

Cuando lo hayamos hecho ya tenemos un "componente" con el nombre que le hayamos dado que, además, se acuerda de los eventos; con lo que no hay que escribirlos otra vez.

Lo anterior es un truquito de Ian Maters (creo) y aclaro que, cuando lo hice para guardar el botón, no siempre me salió bien y no tengo muy claro la causa. Tras un par de pruebas, finalmente salió como buscaba

Cuando le pongamos un evento OnClick al panel y las 2 etiquetas con el texto, funcionará como un botón.

¿Qué contiene?. Bueno, incluyo un ejemplo para que sea más claro; pero trataré de explicarlo:

Hay una etiqueta sin caption y desconectado el autosize, que también tiene activado Transparent, situada "debajo" del panel para que el cursor active su evento OnMouseMove cuando el puntero "salga" del panel.

"Encima" está el panel. Encima del panel están 2 etiquetas con igual caption, de las cuales, la que está "debajo" está ligeramente desplazada con respecto a la que está "arriba", para crear el efecto de ser una sombra.

Al pasar el puntero del ratón sobre el botón, su apariencia de sobrerrelieve cambia a la de bajorrelieve. Cuando el puntero del ratón sale del botón, ocurre lo contrario.

Una vez que se guarda en la VCL, se puede usar como un componente y, cuando se coloca en el Form, las referencias a los componentes son correctas, es decir, que no hay que ir repasándolas una a una.


Bueno, quizás creo que he descubierto la pólvora o el Mediterráneo y realmente esto está totalmente desarrollado hace tiempo; pero he buscado algo parecido para usarlo en el pasado y no lo encontré. Por ello, creo que quizás le pueda resultar útil a alguien.

Salu2 para to2 y todas.

Ramón.

P.D. : para trabajar con colores, hay un programa que convierte los colores que vemos visualmente en una paleta, en el valor que tenemos que asignar en Delphi. Ej. Form1.color := $00C19D57 ; Ese valor, después de elegir visualmente un color, lo da un programa llamado ColorMania.
A mí me resultó muy útil y desconocía su existencia hasta hace poco. Así que les paso el dato por si puede resultar útil a alguien.
Archivos Adjuntos
Tipo de Archivo: zip Boton 3D 03.zip (5,0 KB, 18 visitas)

Última edición por rrf fecha: 07-02-2009 a las 13:02:58. Razón: El archivo con el ejemplo se ha mejorado y he sustituido al que inicialmente subí.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Cambiar color fuente boton estandar Peterman Gráficos 3 31-05-2007 22:09:52
Cambiar el color de un label mediante un botón REHome .NET 4 23-01-2007 02:14:42
Cambiar de color un boton zvf OOP 1 24-04-2006 23:50:26
Cambio de color y aspecto de boton en las columnas de un DBGrid Sr.Scorpion Conexión con bases de datos 2 15-04-2005 17:41:59
Botón con Imagen y color. kukinn Varios 10 13-01-2005 15:32:30


La franja horaria es GMT +2. Ahora son las 07:15:44.


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