![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
CheckBox con imagenes?
Hola a todos:
Estoy haciendo un progrma que que controla un rele que me enciende y me apaga una bonbilla. Mi problema es el siguiente, no quiero poner un componete tipo CheckBox por el tema estetico del programa, y en su lugar me gustaria poner una imagen de una bonbilla, que la cual me represente graficamente como esta mi bonbilla. Para hacer esto he puesto una imagen dentro de un SpeedBottom y he utilizado el siguiente codigo:
Pero, cuando pulso el boton por primera ved, la luz se enciende, lo buelbo a pulsar y se apaga, pero cundo lo pulso por tercera vez, la luz se queda constantemente encendida (siempre en true)?. ![]() Yo quiero hacer algo que se parezca a esta imagen que me he encontrado por internet. Para cambiar el estado de las salidas, me gustaria que variase su estado al pulsar sobre los circulos que representan las salidas que me encienden o me apagan las bonbillas, sin tener que utilizar un checkbox. Un saludo y muchas gracias por anticipado. |
#2
|
||||
|
||||
Podrías poner un poco del código que utilizas?
Es que así a secas, nuestra "bombilla" está siempre en estado apagado y no "vuelve" a encenderse. Por ejemplo puedes colocar una variable que sea el estado con valores 0 apagado y 1 encendido y jugar con eso en cada click al botón, si estado = 0 entonces al click estado = 1. Saludos |
#3
|
||||
|
||||
Cita:
Te propongo esta idea, con el editor gráfico que prefieras (el que trae Delphi sirve perfectamente) crea dos imágenes .bmp de 16 x 16. Estas imágenes que podrías guardar con los nombres LedOff.bmp y LedOn.bmp por ejemplo, serán: Un circulo pintado de verde oscuro la primera y la otra de verde muy claro para lograr el efecto apagado/encendido. En el form coloca un TImageList, agrega en la posición 0 a LedOff.bmp y en la 1 LedOn.bmp. Un TPanel con ocho TSpeedButton dentro y los TLabel que precises. Luego mediante Ctrl+mouse selecciona los 8 SpeedButtons y asígnale a todos el mismo evento OnClick. El código quedaría: El estado de encendido o apagado se almacena en la propiedad Tag de los SpeedButtons y se cambia ante el click sobre el mismo como solicitabas. El resultado es: ![]() Saludos ![]()
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... Última edición por ecfisa fecha: 16-12-2013 a las 12:32:33. |
#4
|
|||
|
|||
Hola muchas gracias, el codigo que ha posteado ecfisa me funciona "correctamente", mañana tendre que analizar el codigo para intentar ver por que no salen las imagenes cuando se inicia por primeraved el programa...
Supongo que este es otro tema diferente, y si le quero eliminar los bordes al spedd button? Muchas gracias. |
#5
|
||||
|
||||
Hola aitorqrv.
Si te referis al borde que se presenta cuando se pasa el mouse por encima creo que no, pero podes reemplazar los SpeedButtons por Images con el mismo resultado:
Saludos ![]()
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
![]() |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
DB CheckBox no boolean | tarco35 | Conexión con bases de datos | 2 | 25-04-2012 11:25:15 |
checkbox | Lupita | Varios | 6 | 07-04-2008 15:12:53 |
Checkbox que no cheka | Kenobi | Varios | 6 | 23-01-2008 08:59:18 |
ayuda con el checkbox | Debian | Conexión con bases de datos | 4 | 11-04-2005 18:59:04 |
checkbox | superhopi | OOP | 3 | 12-05-2003 10:32:46 |
![]() |
|