Перейти к содержанию
Fire Monkey от А до Я
  • 0

Использование TGridPanelLayout


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, только я не пойму, как их использовать. 

Буду рад любой помощи!

Ссылка на комментарий

Рекомендуемые сообщения

  • 0

насколько я понимаю, GridPanelLayout сам делает назначение ячейки при вставке очередного компонента

просто добавляйте в том порядке, в котором нужно.

Если нужно что-то пропустить, то можно вставлять пустой TLayout

Ссылка на комментарий
  • 0

 

В 11.10.2019 в 10:06, krapotkin сказал:

просто добавляйте в том порядке, в котором нужно.

Для этого достаточно TGridLayout, мне то как раз нужно использовать сортировку "в процессе"))

Ссылка на комментарий
  • 0

"Соблюдая индекс сортировки" - это и есть "в том порядке в котором они отсортированы". Если есть порядок, то запросто можно добавлять.
Кроме вроде есть методы и для перестановок тоже, если лень заново заполнять каждый раз. Хотя по мне это самое простое

поэтому можете использовать что хотите, но работают эти компоненты по-разному

Изменено пользователем krapotkin
Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...