Публикация

Автокоррекция размеров окна по высоте

Один из вариантов скрытия/показа контрола с коррекцией профайла карты по высоте.

IsCondition – выполнение определённого условия(true или false)

Self.Height += (edtControl.IsVisible ^ IsCondition) * (edtControl.Height * (IsCondition ? 1 : -1));
edtControl.IsVisible = IsCondition;

Нравится

Поделиться

5 комментариев

Решение не заработает, если контролов 2-3 в одном "ряде".

Коррекцию высоты можно делать последовательно, после изменения видимости каждого контрола.

"Романо" написал:Коррекцию высоты можно делать последовательно, после изменения видимости каждого контрола.

Не совсем понял каким образом.

Если брать "ряд", то вы имели ввиду вертикально или горизонтально?

Можно немного модифицировать: обычно контролы бывают 2-3 в ряд, если они в горизонтальной группе фреймов. Поэтому перед изменением размера окна проверяем: если контрол принадлежит группе фреймов (свойство ParentComponent), свойство Direction которой равно dHorizontal, и эта группа содержит видимые контролы, то размер не изменяем.

Показать все комментарии