salvica
05-09-2007, 15:45:42
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:
{
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? :mad:
He leido por aquí que hay otra propiedad para buscar los elementos contenidos en otro, pero ahora soy incapaz de volver a hacelo. :mad::mad::mad:
Agradecido
Salvador (salvica)
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:
{
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? :mad:
He leido por aquí que hay otra propiedad para buscar los elementos contenidos en otro, pero ahora soy incapaz de volver a hacelo. :mad::mad::mad:
Agradecido
Salvador (salvica)