Порядок выравнивания динамической панели Delphi XE4

У меня есть приложение Firemonkey. который динамически добавляет ряд объектов, полученных из TPanel с

 Align := TAlignLayout.alTop; 

Однако последний объект оказывается наверху, а все остальные на своих местах.

e.g.

Panel-5
Panel-0
Panel-1
Panel-2
Panel-3
Panel-4

когда я хочу

Panel-0
Panel-1
Panel-2
Panel-3
Panel-4
Panel-5

Я пробовал alBottom, alMostTop[ и т. д., но у всех аналогичная проблема.

Как я могу исправить это?

Ваше здоровье,

Мартин.


person Martin Moore    schedule 12.06.2013    source источник
comment
Вы пытались дать каждой панели фору. Когда я делаю такие вещи, я всегда устанавливаю свойство .Top.   -  person Sherlock70    schedule 24.06.2013


Ответы (1)


Хорошо, теперь как официальный ответ: при создании ваших панелей назначьте значение для вершины (например, высоту контейнера). Причина: когда вы создаете компонент, его вершина всегда будет равна 0. Для двух компонентов с вершиной 0 и alTop чисто случайно, какой компонент окажется наверху в конце. См. здесь некоторый код, выполняющий трюк: align-co">Как динамически создавать элементы управления, выровненные сверху, но после других выровненных элементов управления?

person Sherlock70    schedule 28.06.2013
comment
Я попробую, спасибо. Я нашел обходной путь, установив высоту панели = 1 во время разработки, которая, похоже, сработала. - person Martin Moore; 28.06.2013