procedure EnableControls(AParent: TWinControl; const AEnabled: Boolean);
var
i: Integer;
AWinControl: TWinControl;
begin
with AParent do
for i := 0 to ControlCount - 1 do begin
// Set enabled property
Controls[i].Enabled := AEnabled;
// Set all his children's property of enable
if Controls[i] is TWinControl then begin
AWinControl := TWinControl(Controls[i]);
if AWinControl.ControlCount > 0 then
EnableControls(AWinControl, AEnabled);
end
end
end;
var
i: Integer;
AWinControl: TWinControl;
begin
with AParent do
for i := 0 to ControlCount - 1 do begin
// Set enabled property
Controls[i].Enabled := AEnabled;
// Set all his children's property of enable
if Controls[i] is TWinControl then begin
AWinControl := TWinControl(Controls[i]);
if AWinControl.ControlCount > 0 then
EnableControls(AWinControl, AEnabled);
end
end
end;
英雄,你现在做的就是我不希望的。我的意图就是靠容器发一条消息,让容器内的控件收到消息后自己失效调。
是不是异想天开,你再想想看,就指望你了
你试试BoardCast方法。
\ p \ / g /
\ l \_/ n /
\ a o /
\ i s /
\ n /
\_/