function SetControlEnabled(Control :TWinControl; Enabled:boolean); var i:Integer; begin for i:=0 to Control.ControlCount-1 do begin Control.Controls[i].Enabled := Enabled; if Control.Controls[i] is TWinControl then SetControlEnabled(Control.Controls[i] as TWinControl; Enabled); end; Control.Enabled := Enabled; end;SetControlEnabled(Panel1, False);
递归控制 procedure TForm1.enableContolr(Acontrl: TWinControl;flag : Boolean); var i : integer; begin for i := 0 to Acontrl.ControlCount-1 do begin if Acontrl.Controls[i] is TWinControl then ((Acontrl.Controls[i]) as TWinControl).Enabled := flag; if Acontrl.Controls[i] is TCustomControl then enableContolr( (Acontrl.Controls[i] as TCustomControl),flag) end;end;procedure TForm1.Button2Click(Sender: TObject); begin enableContolr(Panel1,false); end;
procedure TForm1.enableContolr(Acontrl: TWinControl;flag : Boolean); var i : integer; begin for i := 0 to Acontrl.ControlCount-1 do begin if Acontrl.Controls[i] is TWinControl then ((Acontrl.Controls[i]) as TWinControl).Enabled := flag; if Acontrl.Controls[i] is TCustomControl then enableContolr( (Acontrl.Controls[i] as TCustomControl),flag) end;end;procedure TForm1.Button2Click(Sender: TObject); begin enableContolr(Panel1,false); end;
function SetControlEnabled(Control :TWinControl; Enabled:boolean); var i:Integer; begin for i:=0 to Control.ControlCount-1 do begin Control.Controls[i].Enabled := Enabled; if Control.Controls[i] is TWinControl then SetControlEnabled(Control.Controls[i] as TWinControl; Enabled); end;老兄,这段代码可以吗??怎么我的不行啊,ControlCount这个值一直发生变化,不可确定呢. Control.Enabled := Enabled; end;SetControlEnabled(Panel1, False);
if self.Components[i].parent = panel1 then
FindComponent[i].enable :=false;
没有Delphi,但是以前就是这样实现的。
panel.controls[i].enables := false;
var
i:Integer;
begin
for i:=0 to Control.ControlCount-1 do
begin
Control.Controls[i].Enabled := Enabled;
if Control.Controls[i] is TWinControl then
SetControlEnabled(Control.Controls[i] as TWinControl; Enabled);
end;
Control.Enabled := Enabled;
end;SetControlEnabled(Panel1, False);
procedure TForm1.enableContolr(Acontrl: TWinControl;flag : Boolean);
var
i : integer;
begin
for i := 0 to Acontrl.ControlCount-1 do
begin
if Acontrl.Controls[i] is TWinControl then
((Acontrl.Controls[i]) as TWinControl).Enabled := flag;
if Acontrl.Controls[i] is TCustomControl then
enableContolr( (Acontrl.Controls[i] as TCustomControl),flag)
end;end;procedure TForm1.Button2Click(Sender: TObject);
begin
enableContolr(Panel1,false);
end;
var
i : integer;
begin
for i := 0 to Acontrl.ControlCount-1 do
begin
if Acontrl.Controls[i] is TWinControl then
((Acontrl.Controls[i]) as TWinControl).Enabled := flag;
if Acontrl.Controls[i] is TCustomControl then
enableContolr( (Acontrl.Controls[i] as TCustomControl),flag)
end;end;procedure TForm1.Button2Click(Sender: TObject);
begin
enableContolr(Panel1,false);
end;
var
i:Integer;
begin
for i:=0 to Control.ControlCount-1 do
begin
Control.Controls[i].Enabled := Enabled;
if Control.Controls[i] is TWinControl then
SetControlEnabled(Control.Controls[i] as TWinControl; Enabled);
end;老兄,这段代码可以吗??怎么我的不行啊,ControlCount这个值一直发生变化,不可确定呢.
Control.Enabled := Enabled;
end;SetControlEnabled(Panel1, False);