Не могу понять, как динамически создать компоненты в этой панели. Задача следующая, создать сетку (несколько колонок и рядов) и в эту сетку уложить компоненты соблюдая индекс сортировки. Разумеется, если компонентов много, должен работать скролл.
Я делаю так, положил GridPanelLayout на VertScrollBox. Перед созданием сетки очищаю RowCollection
RoomsScrollBox.RowCollection.Clear;
Добавляю новый ряд
with form1.RoomsScrollBox.RowCollection.Add do
begin
SizeStyle:= TGridPanelLayout.TSizeStyle.Absolute;
Value:=form1.SkinSettings.Height + 10;
end;
А вот дальше затык, как положить компонент в рантайме в определенную ячейку?
Такой вариант не подходит, так как нужно использовать сортировку.
У GridPanelLayout есть свойство ControlCollection, у которого есть координаты на сетке, Column, Row и ссылка а объект Control, только я не пойму, как их использовать.
Вопрос
gonzales
Доброго времени всем!
Не могу понять, как динамически создать компоненты в этой панели. Задача следующая, создать сетку (несколько колонок и рядов) и в эту сетку уложить компоненты соблюдая индекс сортировки. Разумеется, если компонентов много, должен работать скролл.
Я делаю так, положил GridPanelLayout на VertScrollBox. Перед созданием сетки очищаю RowCollection
RoomsScrollBox.RowCollection.Clear;
Добавляю новый ряд
with form1.RoomsScrollBox.RowCollection.Add do begin SizeStyle:= TGridPanelLayout.TSizeStyle.Absolute; Value:=form1.SkinSettings.Height + 10; end;
А вот дальше затык, как положить компонент в рантайме в определенную ячейку?
inherited Create(form1.RoomsScrollBox); Parent := form1.RoomsScrollBox;
Такой вариант не подходит, так как нужно использовать сортировку.
У GridPanelLayout есть свойство ControlCollection, у которого есть координаты на сетке, Column, Row и ссылка а объект Control, только я не пойму, как их использовать.
Буду рад любой помощи!
Ссылка на комментарий
3 ответа на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.