Ver Mensaje Individual
  #1  
Antiguo 05-09-2007
Avatar de salvica
salvica salvica is offline
Miembro
 
Registrado: mar 2004
Ubicación: Albacete (España) ... En un lugar de la Mancha ...
Posts: 304
Reputación: 21
salvica Va por buen camino
ControlCount de un TPanel

Hola a tod@s, de nuevo por estos barrios

He definido una función que activa/desactiva las etiquetas (TLabel) contenidas en un TPanel, bien una sola o bien todas.

El código es el siguiente:
Código Delphi [-]
{
  activar/desactivar los estados de las TLabel
  - si TODAS = true  entonces Sender es un TPanel
  - si TODAS = false entonces Sender es un TLabel
}
procedure TForm1.ActivarEtiquetas( Sender:TObject; Estado:boolean; Todas:boolean = true );
var
  Contenedor : TPanel;
  Etiqueta   : TLabel;
  i          : integer;
begin
  if Todas then begin
     Contenedor := (Sender as TPanel);
     for i:=0 to Contenedor.ControlCount-1 do
         if( Contenedor.Controls[i] is TLabel ) then begin
             Etiqueta := ( Contenedor.Controls[i] as TLabel ) ;
             Etiqueta.Enabled := Estado;
         end;
  end else (Sender as TLabel).Enabled := Estado;
end;
Bien, el código funciona pero .... (siempre hay un pero), una etiqueta de otro panel se desactiva tambien
¿donde meto la pata?
He leido por aquí que hay otra propiedad para buscar los elementos contenidos en otro, pero ahora soy incapaz de volver a hacelo.

Agradecido
Salvador (salvica)
Responder Con Cita