AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 17.01.2002, 17:34   #1  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
? 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  
slava is offline
slava
сибиряк
Самостоятельные клиенты AX
 
468 / 23 (1) +++
Регистрация: 28.12.2001
Адрес: Москва
-> 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  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Я попробовал. Кажется, что основная загвоздка в свойстве 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  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Сделал изменяющийся размер lookup и воткнулся в новую проблему. Как только я изменяю размер у формы, она "отрывается" от поля, куда должен вводиться резултат.

Пример.
Вызываем lookup:
<center></center>

Как только изменяем размер формы lookup:
<center></center>

Может быть, кто-то уже сталкивался с подобной проблемой? Это решается или нет?
Вложения
Тип файла: img974-1 (9.6 Кб, 949 просмотров)
Тип файла: img974-2 (10.5 Кб, 1037 просмотров)
__________________
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  
slava is offline
slava
сибиряк
Самостоятельные клиенты AX
 
468 / 23 (1) +++
Регистрация: 28.12.2001
Адрес: Москва
:( Не получается повторить ошибку
У меня не получилось повторить ошибку. При вызове формы привязанной к EDT, она на долю секунды предательски меняет свои размеры по вертикали, но потом нормально работает. И таскается если надо, и resize.
Может Вам лучше выложить проект.
__________________
С уважением, Вячеслав.
Старый 18.01.2002, 16:04   #6  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Да, конечно. Проект выкладываю. В нем EDT, lookup-форма (HB_TempProblemLookup) и форма, которая этот lookup использует (HB_TempForm).

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

Посмотрите, может быть что-нибудь посоветуете.
Вложения
Тип файла: xpo project1.xpo (20.9 Кб, 846 просмотров)
__________________
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  
slava is offline
slava
сибиряк
Самостоятельные клиенты AX
 
468 / 23 (1) +++
Регистрация: 28.12.2001
Адрес: Москва
:) Не отрывается
Целый час гонял форму из проекта по экрану и вызывал 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  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Очень странно. А у Вас версия 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): Внес предложенные изменения Обновленный проект выкладываю.
Вложения
Тип файла: xpo project1 (1).xpo (22.2 Кб, 802 просмотров)
Тип файла: img988-1 (10.7 Кб, 977 просмотров)
Тип файла: img988-2 (11.1 Кб, 971 просмотров)
__________________
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  
slava is offline
slava
сибиряк
Самостоятельные клиенты AX
 
468 / 23 (1) +++
Регистрация: 28.12.2001
Адрес: Москва
:( Странно
Протестировал еще раз, но висит зараза как приклеенная.
Версия Аксапты 2.5 SP1 HotFix1.
__________________
С уважением, Вячеслав.
Старый 18.01.2002, 19:22   #10  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Re: Странно
Цитата:
Изначально опубликовано slava
Версия Аксапты 2.5 SP1 HotFix1.
Так, начинает проясняться! У меня SP2 установлен (русский). Ладно, сейчас напишу в Columbus. Вдруг они помогут. Обещаю рассказать, когда разберусь.
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Создание Lookup формы Maxim Gorbunov DAX: База знаний и проекты 9 26.06.2007 16:44
Автоматический вызов lookup при запуске формы demID DAX: Программирование 6 24.09.2004 17:34
Как подавить вызов LookUp формы при нажатии на "*" SergeyA DAX: Программирование 3 29.08.2003 13:10
Русская локализация Axapta 3 ? SlavaK DAX: Администрирование 59 01.07.2003 22:38
Динамические Lookup формы. Андрей Василюк DAX: База знаний и проекты 0 07.12.2001 07:07

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 14:28.