Cita:
Empezado por AlejandroCalica
desactivar todos menos 1, o activar 1 menos lo demás algo así, ejemplo: tengo 4 panel uno sobre otro, al entrar al formulario solo mostrar 1 y los demás ocultos, al precionar 1 Burton, ahora ocultar el visible y activar el 2 un ejemplo, osea el Procedure tendría la opción de colocar cuál panel será el true y los demás estarán en false, espero allá Sido claro
|
Hay varias formas de hacerlo de forma simple, de forma que puedas identificar todos los elementos del grupo.
- Todos dentro de un panel (que no tiene porqué ser visible)
- Todos los elementos con el mismo TAG
- ...
Si tienes definidos una serie de paneles en el formulario TODOS con la propiedad TAG=1 como estos:
Con un procedimiento como este:
Código Delphi
[-]procedure TForm2.OcultarVisualizarPaneles(APanel: TPanel);
var
i:integer;
begin
for i := 0 to (ComponentCount - 1) do begin
if TPanel(Components[i]).Tag = 1 then begin
if (TPanel(Components[i]) = APanel) then
TPanel(Components[i]).Visible := True
else
TPanel(Components[i]).Visible := False;
end;
end;
end;
Puedes visualizar uno y ocultar el resto.
Código Delphi
[-]procedure TForm2.Button1Click(Sender: TObject);
begin
OcultarVisualizarPaneles(Panel1)
end;
procedure TForm2.Button2Click(Sender: TObject);
begin
OcultarVisualizarPaneles(Panel2)
end;
procedure TForm2.Button3Click(Sender: TObject);
begin
OcultarVisualizarPaneles(Panel3)
end;
En ejecución será algo así: