Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #3  
Antiguo 16-12-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por aitorqrv Ver Mensaje
...
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.
Hola aitorqrv.

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:
Código Delphi [-]
...
implementation

procedure TForm1.FormCreate(Sender: TObject);
var
  i: Integer;
  sp : TSpeedButton;
begin
  for i := 0 to 7 do
  begin
    sp := FindComponent('SpeedButton'+IntToStr(i+1)) as TSpeedButton;
    if Assigned(sp) then
    begin
      sp.Flat := True; 
      sp.Tag  := 0;    // Apagado por defecto
      ImageList1.GetBitmap(sp.Tag, sp.Glyph)
    end;
  end;
end;

procedure TForm1.SpeedButtonsClick(Sender: TObject);
begin
  with Sender as TSpeedButton do
  begin
    Tag   := Integer(not Boolean(Tag));  // encender/apagar
    Glyph := nil;
    ImageList1.GetBitmap(Tag,Glyph);
  end;
end;
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.
Responder Con Cita
 



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
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


La franja horaria es GMT +2. Ahora son las 06:03:35.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi