C++ Builder 2009 Итерация / рекурсия через компоненты в форме
Я хочу перебирать компоненты в форме.
Я планирую повторять / повторять компоненты, чтобы вносить массовые изменения в компоненты определенного типа, но для этого мне нужен дескриптор для всех компонентов.
Я проверил Code Complete и Google, но мне не повезло, отвечая на мой собственный вопрос.
1 ответ
Использовать TWinControl.Controls[]
свойство, например:
Procedure DoSomething(AControl: TWinControl);
Var
I: Integer;
Ctrl: TControl;
Begin
If AControl is TSomeControl then
Begin
...
End;
For I := 0 to AControl.ControlCount-1 do
Begin
Ctrl := AControl.Controls[I];
If Ctrl is TWinControl then
DoSomething(TWinControl(Ctrl));
End;
End;
Procedure TMyForm.DoIt;
Begin
DoSomething(Self);
End;