Почему TFramedScrollBox всегда возвращает количество элементов управления как 2 только в FMX?

Мне нужно знать количество элементов управления, размещенных внутри контейнера элементов управления TFramedScrollBox.

Когда я использую код TFramedScrollBox.ControlsCount. Он всегда возвращает значение. Почему?

Я хочу использовать for loopи перебрать каждый элемент управления и установить несколько свойств. Поскольку количество возвращаемых элементов управления всегда 2Я не могу перебирать каждый элемент управления, содержащийся внутри TFramedScrollBox.

Как решить эту проблему?

1 ответ

FMX TFramedScrollBox(так же как TScrollBox) имеет свойство Content: TScrollContentкоторый содержит добавленные элементы управления. Использовать Content.Controlsперечислить элементы управления.

Например:

      for i := 0 to FramedScrollBox1.Content.ControlsCount-1 do
  Memo1.Lines.Add(FramedScrollBox1.Content.Controls[i].Name);

Редактировать:

Чтобы ответить на вопрос "почему всегда возвращается 2?:

Два компонента, обозначенные TFramedScrollBox.ControlsCountи к которым можно получить доступ через TFramedScrollBox.Controlsобласть TLayoutи TScrollContent. Последнее, являющееся Contentкоторый содержит дочерние элементы управления.

Другие вопросы по тегам