Почему 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
который содержит дочерние элементы управления.