У меня есть форма с кучей элементов управления на ней, и я хотел выполнить итерацию всех элементов управления на определенной панели и включить/отключить их.
Я пробовал это:
var component: TComponent;
begin
for component in myPanel do
(component as TControl).Enabled := Value;
end;
Но это ничего не делало. Оказывается, все компоненты находятся в коллекции компонентов формы, а не в их родительском объекте. Так кто-нибудь знает, есть ли способ получить все элементы управления внутри элемента управления? (Помимо уродливого обходного пути вроде этого, что я и должен был сделать):
var component: TComponent;
begin
for component in myPanel do
if (component is TControl) and (TControl(component).parent = myPanel) then
TControl(component).Enabled := Value;
end;
Кто-нибудь, пожалуйста, скажите мне, куда лучше...