17.01.2002, 17:34 | #1 |
Administrator
|
lookup-формы изменяющегося размера
Кто-нибудь пробовал создавать lookup-формы изменяющегося размера?
Я пробовал. Не получилось. Проблема в том, что как только я изменяю размер формы (причем независимо от того, делаю ли я это из кода или это делает мышкой пользователь), все ее содержимое пропадает и остается серый прямоугольник. Может быть кто-то сталкивался с подобными проблемами и решил их? Расскажите, пожалуйста, как.
__________________
Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me |
|
18.01.2002, 11:04 | #2 |
сибиряк
|
SysTableLookup
Я поправил в классе SysTableLookup метод formRun
сравните то что есть со следующим кодом: <pre>// Slava, 18/01-02, --> // было formBuildDesign.frame(FormFrame::Border); formBuildDesign.frame(FormFrame::Standard); formBuildDesign.windowType(FormWindowType::Standard); // добавлено formBuildDesign.windowResize(FormWindowResize:: Dynamic); // добавлено formBuildDesign.hideIfEmpty(false); formBuildDesign.hideToolbar(false); formBuildDesign.top(0); // было formBuildDesign.top(15); formBuildDesign.topMargin(0); // было formBuildDesign.topMargin(2); formBuildDesign.left(0); // было formBuildDesign.left(15); formBuildDesign.leftMargin(0); formBuildDesign.rightMargin(0); formBuildDesign.bottomMargin(0); // Slava, 18/01-02, <-- formBuildGridControl = formBuildDesign.addControl(FormControlType::GRID,'Grid'); formBuildGridControl.dataSource(dictTable.name()); formBuildGridControl.allowEdit(false); formBuildGridControl.showRowLabels(false); // Slava, 18/01-02, --> formBuildGridControl.widthMode(FormWidth::ColumnWidth); formBuildGridControl.heightMode(FormHeight::ColumnHeight); // Slava, 18/01-02, <-- </pre> <br> В итоге получаю форму, по виду нелукапную, но с lookup-свойствами. Ее можно таскать, изменять размер
__________________
С уважением, Вячеслав. |
|
18.01.2002, 12:26 | #3 |
Administrator
|
Я попробовал. Кажется, что основная загвоздка в свойстве FrameType. Если оно Dialog или Standard, то все в порядке (кроме того, что выводится совершенно неуместный заголовок окна), а для Border и None не работает.
Кстати, покопавшись нашел стандартный пример lookup-формы изменяющегося размера: форма Picklist. Она используется, например, для lookup таблицы при настройке группы определений. У них FrameType тоже Standard. По прежнему не ясно, можно ли создать lookup-форму без заголовка , которая будет корректно изменять размеры. Кстати, изменять размеры из кода я все-таки научился. Устанавливая свойство widthValue у design формы можно добиться нужных результатов. В принципе, используя это, можно, наверное, самому запрограммировать динамически изменяющий размеры lookup.
__________________
Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me |
|
18.01.2002, 14:13 | #4 |
Administrator
|
Сделал изменяющийся размер lookup и воткнулся в новую проблему. Как только я изменяю размер у формы, она "отрывается" от поля, куда должен вводиться резултат.
Пример. Вызываем lookup: <center></center> Как только изменяем размер формы lookup: <center></center> Может быть, кто-то уже сталкивался с подобной проблемой? Это решается или нет?
__________________
Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me |
|
18.01.2002, 15:23 | #5 |
сибиряк
|
Не получается повторить ошибку
У меня не получилось повторить ошибку. При вызове формы привязанной к EDT, она на долю секунды предательски меняет свои размеры по вертикали, но потом нормально работает. И таскается если надо, и resize.
Может Вам лучше выложить проект.
__________________
С уважением, Вячеслав. |
|
18.01.2002, 16:04 | #6 |
Administrator
|
Да, конечно. Проект выкладываю. В нем EDT, lookup-форма (HB_TempProblemLookup) и форма, которая этот lookup использует (HB_TempForm).
Справедливости ради должен заметить, что ошибка возникает не всегда. Ее возникновение зависит от того, в какой части экрана поле, вызывающее lookup расположено. Например, для моего проекта, если форма находится в правой части экрана, то все нормально, а вот если ее передвинуть в левый верхний угол, возникает ошибка. Посмотрите, может быть что-нибудь посоветуете.
__________________
Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me |
|
18.01.2002, 17:40 | #7 |
сибиряк
|
Не отрывается
Целый час гонял форму из проекта по экрану и вызывал lookup и изменял размер. Но никак не удалось повторить ошибку. Возможно она слишком специфична и привязалась к конкретной инсталяции Аксапты.
Небольшое добавление в метод clicked() формы HB_TempProblemLookup: // Slava, 18/01-02, --> element.design().control(control::InventTable_ItemId).width(element.design().control(control::InventTable_ItemId).widthValue() + 15); element.design().control(control::InventTable_ItemName).width(element.design().control(control::InventTable_ItemName).widthValue() + 15); element.design().control(control::InventTable_ItemId).setfocus(); // Slava, 18/01-02, <-- Так они движутся синхронно
__________________
С уважением, Вячеслав. |
|
18.01.2002, 18:56 | #8 |
Administrator
|
Очень странно. А у Вас версия Axapta какая? Может в этом дело?
Я делаю так:<ol><li>Вызываю форму HB_TempForm.</li><li>Перемещаю ее примерно в левый верхний угол рабочей области.</li><li>Вызываю lookup. Сначала он расположен нормально, то есть непосредственно под полем ввода. </li> <li>Нажимаю на кнопку "Изменить размер", и lookup-форма "прыгает" пикселей на 30 вниз. </li></ol> Если менять свойство Frame у design lookup-формы на Standard или Dialog, то все работает, а при Border или None вот такой вот эффект. Неужели это только у меня? Обидно. P.S. (2 slava): Внес предложенные изменения Обновленный проект выкладываю.
__________________
Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me |
|
18.01.2002, 19:17 | #9 |
сибиряк
|
Странно
Протестировал еще раз, но висит зараза как приклеенная.
Версия Аксапты 2.5 SP1 HotFix1.
__________________
С уважением, Вячеслав. |
|
18.01.2002, 19:22 | #10 |
Administrator
|
Re: Странно
Цитата:
Изначально опубликовано slava
Версия Аксапты 2.5 SP1 HotFix1.
__________________
Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me |
|