Hallo,
es sollte so
Delphi-Quellcode:
procedure TForm1.Ctrl_SetEnabledState(aForm, ACtrl: TWinControl; State: Boolean );
var
ChildCtrl: TWinControl;
i: Integer; // Laufvar.
begin
// Alle Child-Controls disablen
for i:=0 to ACtrl.ControlCount-1 do begin
ChildCtrl := TWinControl(ACtrl.Controls[i]);
if ChildCtrl is TWinControl then begin
begin
If ChildCtrl<>aForm then // Dadurch wird das Form nicht berücksichtigt
ChildCtrl.Enabled := State;
Ctrl_SetEnabledState(aForm,ChildCtrl, State ); // Rekursion!
end;
end;
end;
end;
lauten
Dieser Aufruf setzt Enabled alle Controls auf False jedoch nicht das Formular
Code:
Ctrl_SetEnabledState(Form1,Form1,False);