Ver Mensaje Individual
  #6  
Antiguo 15-10-2013
Avatar de FideRosado
FideRosado FideRosado is offline
Miembro
 
Registrado: jun 2010
Ubicación: Pinar del Rio Cuba
Posts: 146
Reputación: 14
FideRosado Va por buen camino
Para mantener el color de fondo en cada panel...

aca les envio una actualizacion del codigo
uso la misma propiedad color para tomar y debolver el estado del chekbox...

Código Delphi [-]
procedure TForm1.ChkClick(Sender: TObject);
begin
  if TRzCheckBox(Sender).Checked then
  begin
    TRzCheckBox(Sender).Color:= TRzPanel(TRzCheckBox(Sender).Parent).Color;
    TRzPanel(TRzCheckBox(Sender).Parent).ParentColor:=false;
    TRzPanel(TRzCheckBox(Sender).Parent).Color := $00CAF0FF;
  end
  else
  begin
    TRzPanel(TRzCheckBox(Sender).Parent).Color := TRzCheckBox(Sender).Color
  end;
end;

aqui agrego unas lineas, que parecen bobas pero nos permiten guardar independientemente el color de fondo..
y que se mantenga alternados..los colores
.. pero me di cuenta que cuando selecciono mas de dos y los desmarco no se me ponen los colores como son ,, que se le puede sumar a este tema para solucionarlo..

bueno me puse a trabajar en eso y lo consegui..

primero use un TRzCheckBox en vez de TCheckBox , porque?? este cambio , pues , trz me permite asignar un color mientras lo pongo transparente, ahi esta el truco, mantener el color de fondo, guardandolo en el mismo objeto que lo ejecuta...

Código Delphi [-]
  with TRzCheckBox.Create(nil) do
  begin
    OnClick := ChkClick;
    Name:= 'CheckMail'+IntToStr(numberpanel);
    Caption:='';     ParentColor:=false;
    Transparent:=true;
    left:=16;
    top:=21;
    Width:=17;
    Parent:= Pnl;
  end;

Última edición por ecfisa fecha: 15-10-2013 a las 06:48:53. Razón: corregir problema Interfaz mejorada
Responder Con Cita