Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Delphi Новый топик    Ответить
 Динамическое количество контролов на форме. Как правильно организовать?  [new]
Jonnik
Member

Откуда:
Сообщений: 183
К примеру есть форма и на ней около 30 Edit, ComboBox, CheckBox, DateTimePicker и такого подобного.
Все они расположены определенным образом. Часть из них будет всегда на форме, а часть может отсутствовать по желанию пользователя.

В общем надо как-то организовать расположение этих 30 элементом на форме, что бы если пользователь скрыл 5 из них, то вместо них не образовались пустые места и даже возможно изменился размер формы. К примеру если крайний левый элемент пропал, то вместо него встал следующий за ним.

Грубо говоря форма разбивается на строки, внутри одной строки могут быть несколько элементов. Один из них убрали, на место него встал элемент следующий в этой строке. Если строка стала полностью без элементов, то она скрывается и форма уменьшаеться повысоте на размер этой строки.

Есть GridPanel. Он примерно так работает. Но им сложно управлять и может есть более интересные решения и не хочется писать свое решение. Форм таких будет много.
2 авг 20, 10:12    [22176644]     Ответить | Цитировать Сообщить модератору
 Re: Динамическое количество контролов на форме. Как правильно организовать?  [new]
Gerasimenko
Member

Откуда:
Сообщений: 4612
Jonnik

В общем надо как-то организовать расположение этих 30 элементом на форме, что бы если пользователь скрыл 5 из них, то вместо них не образовались пустые места и даже возможно изменился размер формы. К примеру если крайний левый элемент пропал, то вместо него встал следующий за ним.
Удобно использовать панели и их свойство Align
2 авг 20, 11:13    [22176649]     Ответить | Цитировать Сообщить модератору
 Re: Динамическое количество контролов на форме. Как правильно организовать?  [new]
DmSer
Member

Откуда: Пенза
Сообщений: 1156
В VCL имеются некоторые средства выравнивания, в том числе Align, AutoSize, Anhors, AlignWithMargins, Margins. Комбинируйте их для достижения желаемого эффекта. Вероятно, потребуется что-нибудь в коде прописать.
2 авг 20, 11:14    [22176650]     Ответить | Цитировать Сообщить модератору
 Re: Динамическое количество контролов на форме. Как правильно организовать?  [new]
Jonnik
Member

Откуда:
Сообщений: 183
DmSer
В VCL имеются некоторые средства выравнивания, в том числе Align, AutoSize, Anhors, AlignWithMargins, Margins. Комбинируйте их для достижения желаемого эффекта. Вероятно, потребуется что-нибудь в коде прописать.


Этот вариант у меня пока в голове и есть, просто думал, что есть более автоматизированный способ решения задачи, хотя всю логику готовое решение врятли решит.

Подождем. Может кто еще предложит вариант.
2 авг 20, 12:18    [22176660]     Ответить | Цитировать Сообщить модератору
 Re: Динамическое количество контролов на форме. Как правильно организовать?  [new]
DmSer
Member

Откуда: Пенза
Сообщений: 1156
Jonnik
DmSer
В VCL имеются некоторые средства выравнивания, в том числе Align, AutoSize, Anhors, AlignWithMargins, Margins. Комбинируйте их для достижения желаемого эффекта. Вероятно, потребуется что-нибудь в коде прописать.


Этот вариант у меня пока в голове и есть, просто думал, что есть более автоматизированный способ решения задачи, хотя всю логику готовое решение врятли решит.

Подождем. Может кто еще предложит вариант.


В VCL с выравниванием туговато. Можно ещё 25 лет подождать:)
2 авг 20, 12:32    [22176662]     Ответить | Цитировать Сообщить модератору
 Re: Динамическое количество контролов на форме. Как правильно организовать?  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 50765

Или перейти на какой-нибудь qt с его layouts.

Posted via ActualForum NNTP Server 1.5

2 авг 20, 12:34    [22176664]     Ответить | Цитировать Сообщить модератору
 Re: Динамическое количество контролов на форме. Как правильно организовать?  [new]
DimaBr
Member

Откуда:
Сообщений: 11777
cxVerticalGrid, cxInspector
Картинка с другого сайта.
2 авг 20, 15:21    [22176707]     Ответить | Цитировать Сообщить модератору
 Re: Динамическое количество контролов на форме. Как правильно организовать?  [new]
white_nigger
Member

Откуда: Тула
Сообщений: 2349
TdxLayoutControl))
2 авг 20, 20:30    [22176777]     Ответить | Цитировать Сообщить модератору
Все форумы / Delphi Ответить