Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Проверить принадлежность компонента контейнеру[?]


Автор: Aleks26 12.3.2010, 17:06
Если на форме несколько контейнеров типа Panel или GroupBox, а далее я в каждом из них хочу выравнять однотипные компоненты.
Простейшим примером является след. листинг:
Код

procedure TfrmListComp1.grbListComp1Enter(Sender: TObject);
var i: Integer;
begin
  for i := 0 to Self.ComponentCount-1 do
   if (self.Components[i] is Tlabel) then
    (Self.Components[i] as TLabel).Left := 20;
 end;
end;

Но при этом идет перебор всех компонентов TLabel на форме, а мне нужно разделить эти компоненты по контейнерам, в которых они находятся. То-есть, например, выровнять только компоненты Tlabel из контейнера grbListComp1 (типа GroupBox). Как такую проверку здесь организовать?

Автор: Mikel 12.3.2010, 17:27
Так и перебирайте grbListComp1.Controls и проверяйте класс компонента или не проверяйте- зависит от задачи smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)