Как определить высоту фрейма, котороую он занимает в окне
Как определить высоту фрейма, котороую он занимает в окне в видимом режиме?
Мне нужна эта высота, чтобы скрывать/показывать фреймы в окне редактирования в зависимости от типа записи.
Возможно есть какой-то динамический параметр, который во время выполнения скрипта хранит высоту отображаемого фрейма?
Нравится
насколько я понимаю, за это отвечает атрибут Size
только вот если у фрейма стоит выравнивание Client то Size имеет значение 0 независимо от размера фрейма.
Могу предложить для решения задачи просто пользоваться IsVisible
ООО "Лайнсервис"
www.ls-crm.ru
"Денис М" написал:для Вашей задачи лучше подойдет скрывать фреймы
Окно я так понимаю тоже поджимать хочется.
См. wnd_SurveyQuestionEditScript, там делется нечто похожее.
"Александр Кудряшов" написал:насколько я понимаю, за это отвечает атрибут Size
Параметр Size есть только у фрейма (Frame), в у группы фреймов (FrameGroup) такого параметра нету.
так вопрос про фреймы и был))
FrameGroup скрывайте с помощью IsVisible
ООО "Лайнсервис"
www.ls-crm.ru
"Underscore a.k.a. _" написал:Окно я так понимаю тоже поджимать хочется.См. wnd_SurveyQuestionEditScript, там делется нечто похожее.
Посмотрел, там нету примера работы с фреймами в окне, а точнее определения их высоты. Как делать видимым или невидимым фрейм я знаю. Вопрос как изменить высоту окна на значение высоты фрейма с контролами.
Нашел. Чтобы получить высоту элемента в фрейме можно использовать следующую функцию:
FrameName.GetItemHeight(ItemName)
где ItemName может быть названием элемента FrameGroup.
Например, у меня есть фрэйм Frame и в нем расположена фреймгрупа fgSalary. Тогда для получения высоты fgSalary необходимо использовать след. код:
Frame.GetItemHeight(gfSalary)
Пример нашел в Planning\General\Utils\wnd_PlanningFixedEditScript в функции UpdateWindow
Теперь вопрос: как получить обьект фрейма в котором находиться заданный фреймгруп?
Да, только там нюанс есть, когда фрейм груп входит в фреймгруп, а не в фрейм. Я думаю в цикле буду подниматься вверх, пока не найду компонент c TypeCode = 'Frame'. И дальше уже использовать функцию GetItemHeight.
"Underscore a.k.a. _" написал:Вариант. Я думал там заранее известный FG.
Ну в частном случае известный, просто я хочу использовать эту функцию как универсальную.
:twisted:
Ато довольно часто встречаемый подход "и так сойдет" достал уже.