Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Habilitar y desabilitar controles (https://www.clubdelphi.com/foros/showthread.php?t=87509)

wilcg 16-01-2015 01:36:27

Habilitar y desabilitar controles
 
Hola amigos del foro, necesito su ayuda.
Deseo implementar un proceso para habilitar y desabilitar (TEdit, TCombobox, TButton) solo los deseados con una sola linea de codigo.
- estoy trabajando en esto, pero falta mucho alguien que me ayude.

Código Delphi [-]
procedure HabilitControl(const controles :TStrings);
var
  i :integer;
begin
  for i:= controles.Count-1 downto 0 do
    if controles[i] = (TWinControl[i] is TEdit) then
      TEdit[i].Enabled := True
    else
    if controles[i] = (TWinControl[i] is TComboBox) then
      TComboBox[i].Enabled := True
    else
    if controles[i] = (TWinControl[i] is TButton) then
      TButton[i].Enabled := True
end;
y llamaria la accion asi
Código Delphi [-]
procedure TFode.Button1Click(Sender: TObject);
begin
  HabilitControl(Edit1, Edit2, ComboBox5, BitBtn3);
end;

ecfisa 16-01-2015 01:46:54

Hola wilcg.

Código Delphi [-]
procedure CtrlOnOff(Ctrls: array of TControl; const Enabled: Boolean);
var
  i: Integer;
begin
  for i:= Low(Ctrls) to High(Ctrls) do
    Ctrls[i].Enabled:= Enabled;
end;

Uso:
Código Delphi [-]
begin
  CtrlOnOff([Edit1, Edit2, ComboBox5, BitBtn3], False { ó True } );

Saludos :)

wilcg 16-01-2015 05:19:26

ecfisa, gracias por tu aporte quedo tal cual deseaba, sinceramente estaba muy lejos del camino...^\||/

Ñuño Martínez 16-01-2015 13:27:52

Otra opción es contener los objetos dentro de un TPanel. Si deshabilitas el TPanel, todos los controles que contenga se deshabilitarán. También funciona con TGroupBox y demás.

roman 16-01-2015 17:11:43

Otra opción es quitar los #13#10 en el código y ya queda de una sóla línea :D

// Saludos


La franja horaria es GMT +2. Ahora son las 12:10:38.

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