22.09.2003, 13:20 | #1 |
Участник
|
Auto, но не более чем... Можно сделать?
Добрый день!
Можно ли управлять свойством Высота (Height) формы так чтобы моделировалась ситуация: Высота = Auto, но не более чем, например, 250...? Описание поведения: Есть нестандартная лукап форма, в которой есть контрол Table... Table заполняется динамически набором значений. Устанавливаю в лукап форме все значения для высоты как Auto. Все работает как ожидается, т.е. если в таблице 3 строки, то лукап форма откроется на вытоту таблицы, т.е. на 3 строки... НО... если в таблице, например, 50 строк, то форма пытается открыться на 50 строк таблицы, не входит в указанные рамки для фрейма аксапты и самопроизвольно закрывается... Хочется сделать так чтобы высота формы работала как авто, но не превышала определенный предел... В данный момент установил значение высоты жестко, но это немного выглядит не красиво если строк в таблице мало...
__________________
Дмитрий Гришин |
|
09.10.2003, 15:53 | #2 |
Участник
|
Re: Auto, но не более чем... Можно сделать?
Цитата:
Изначально опубликовано SnowMan
Добрый день! Можно ли управлять свойством Высота (Height) формы так чтобы моделировалась ситуация: Высота = Auto, но не более чем, например, 250...? PHP код:
|
|
13.10.2003, 16:18 | #3 |
Участник
|
Re: Re: Auto, но не более чем... Можно сделать?
PHP код:
Неужели у тебя данный код работает корректно? Мой вопрос можно перефразировать: "Как получить реальное значение свойства Height формы, до ее открытия?"
__________________
Дмитрий Гришин |
|
13.10.2003, 17:36 | #4 |
Участник
|
Я тебе кинул код, который у меня нормально работал в Аксапте 3.0 SP1
После вызова super() в методе init() у тебя уже все свойства выставлены. |
|
15.10.2003, 10:33 | #5 |
Участник
|
Цитата:
Изначально опубликовано Zom
... При этом можно оставить свойство Height = Auto. Я тебе кинул код, который у меня нормально работал в Аксапте 3.0 SP1 После вызова super() в методе init() у тебя уже все свойства выставлены. и как получить фактическую высоту формы до ее отображения при установленном Height =Auto я не знаю... а вот если, после открытия формы, опросить ее высоту, то фактическое значение получить можно (см прилагаемый проект)
__________________
Дмитрий Гришин |
|
15.10.2003, 12:04 | #6 |
Участник
|
Значит тебе придется переопределить метод Run()
Вот код для твоего примера PHP код:
|
|
15.10.2003, 12:37 | #7 |
Участник
|
Цитата:
Изначально опубликовано Zom
Значит тебе придется переопределить метод Run() для пользователей, да и для меня, такое поведение лукап формы выглядит диким... склоняюсь к мнению, что такое в аксапте реализовать нельзя, т.е. нельзя анализировать размеры формы и управлять ими до ее открытия...
__________________
Дмитрий Гришин |
|
15.10.2003, 13:06 | #8 |
Участник
|
Выложи XPO файл с той формой, которую ты хочешь изменить.
Посмотрю что можно сделать. |
|
15.10.2003, 14:17 | #9 |
Участник
|
Цитата:
Изначально опубликовано Zom
Выложи XPO файл с той формой, которую ты хочешь изменить. Посмотрю что можно сделать.
__________________
Дмитрий Гришин |
|
15.10.2003, 17:32 | #10 |
Участник
|
У меня 2 твои формы в проекте были не связаны между собой. Я так понял, что та, которая называется ...Lokup должна выпадать при нажатии Lookup Button на маленькой форме с одним контролом.
Посмотри приаттаченый файл, у меня Lookup Form все время остается небольшого размера, независимо от кол-ва в ней эл-ов. |
|
15.10.2003, 18:16 | #11 |
Участник
|
Цитата:
Изначально опубликовано Zom
У меня 2 твои формы в проекте были не связаны между собой. Я так понял, что та, которая называется ...Lokup должна выпадать при нажатии Lookup Button на маленькой форме с одним контролом. Посмотри приаттаченый файл, у меня Lookup Form все время остается небольшого размера, независимо от кол-ва в ней эл-ов. сейчас исправился (см прикрепленный проект) Наблюдаемое поведение: при нажатии lookup button в первой форме происходит выпадание лукап формы со стандартной высотой грида в методе run лукап формы я просто уменьщаю это высоту до 150, тем самым происходит перерисовывание лукап формы, что мне не подходит... PS если не ошибаюсь, Grid в аксапте всегда открывается с одной и той же высотой независимо от количества строк - поэтому лукап формы всегда одной и той же высоты. Но контрол Grid мне не подходит и в своей лукап форме я использую контрол Table, который, в свою очередь, пытается открыться на высоту всех строк, которые в нем находятся. Поэтому его надо ограничивать...
__________________
Дмитрий Гришин |
|
16.10.2003, 13:30 | #12 |
Участник
|
Цитата:
Изначально опубликовано SnowMan
если не ошибаюсь, Grid в аксапте всегда открывается с одной и той же высотой независимо от количества строк - поэтому лукап формы всегда одной и той же высоты. Но контрол Grid мне не подходит и в своей лукап форме я использую контрол Table, который, в свою очередь, пытается открыться на высоту всех строк, которые в нем находятся. Поэтому его надо ограничивать... Так что выложи форму с Table. |
|
16.10.2003, 15:00 | #13 |
Участник
|
Цитата:
Изначально опубликовано Zom
Так что выложи форму с Table.
__________________
Дмитрий Гришин |
|
16.10.2003, 19:05 | #14 |
Участник
|
Цитата:
Изначально опубликовано SnowMan
выкладываю Обрати внимание на init() в главной форме и run() в lookup форме. |
|
17.10.2003, 15:10 | #15 |
Участник
|
Цитата:
Изначально опубликовано Zom
Дааа, все оказалось не так просто. Но вроде получилось что тебе надо.
__________________
Дмитрий Гришин |
|
17.10.2003, 15:27 | #16 |
Участник
|
Цитата:
Изначально опубликовано SnowMan
Спасибо за несколько идей из твоей реализации, но остается проблема с определением координат для открытия лукап формы... попробуй переместить лукап поле в первой форме в середину формы, путем добавления каких-нибудь других контролов... при открытии лукап форма уплывет... Наверно надо брать координаты parent-окна, добавлять к ним координаты контрола и передавать это через GlobalCache... Вобщем, это уже на твое усмотрение |
|
17.10.2003, 15:45 | #17 |
Участник
|
Цитата:
Изначально опубликовано Zom
Да, я тоже столкнулся с этой проблемой. Наверно надо брать координаты parent-окна, добавлять к ним координаты контрола и передавать это через GlobalCache... Вобщем, это уже на твое усмотрение
__________________
Дмитрий Гришин |
|