Hallo barnti,
bei der
TGroupBox handelt es sich um einen Erben von
TWinControl, der über die Eigenschaften
Controls und
ControlCount die ihm untergeordneten Elemente veröffentlicht.
Du könntest, um Dein Problem zu lösen, über alle untergeordneten Element iterieren und für diese jeweils die Eigenschaften setzen. Solltest Du jedoch mehrere solcher Boxen (zB auch Panels) inneinander verschachteln, könnte ein rekursiver Ansatz weiterhelfen.
Die folgende Prozedure demonstriert, was ich meine (und sollte ggf an Deine Bedürfnisse weiter angepasst werden):
Delphi-Quellcode:
procedure SetEnabledRecursivly(AControl: TControl; AEnabled: Boolean);
var
iChild: Integer;
begin
// set state of control
AControl.Enabled := AEnabled;
// if control contains further controls...
if (AControl is TWinControl) then
with TWinControl(AControl) do
// ...set state for each child (recursive)
for iChild := 0 to Pred(ControlCount) do
SetEnabledRecursivly(Controls[iChild], AEnabled);
end;
mit einem Aufruf der Art:
SetEnabledRecursivly(GroupBox1, False);
EDIT: Ups, etwas zu langsam