![]() |
#1 |
Участник
|
Модальность AX
Добрый день!
Просмотрел ряд тем про модальность в AX: Как сделать модальное окно? Порядок отображения контролов на форме Модальное окно. диалоговое окно поверх других окон Модальный диалог Модальные формыно ни одна из тем мне не помогла. Как сделать модальной саму AX? В чём суть: В цикле перебирая формы, собираю с них данные и вывожу в Word. Для каждой формы создаётся новый объект Word_а. Как только закончилась обработка 1й формы, я активизирую Word (worddocument.visible(true)) и удаляю его объект. И дальше идёт процесс обработки следующей формы. Как только Word стал видимым, AX ушла на второй план, и в место наблюдений процесса в AX, мы наблюдаем скучные данные в Word. Была идея сохранять все объекты Word_а в List. и только после ВСЕХ выполненных процессов последовательно активизировать каждый объект Word_а. Но, количество обрабатываемых форм может быть довольно много, и хранить для каждой, объект Word_а не совсем правильно.Как, всё время, удерживать окно AX поверх всех остальных программ? |
|
![]() |
#2 |
Участник
|
А так не пойдет?
Код: worddocument.visible(false) Будете дальше наблюдать процесс. А потом по окончанию уже решите, что с вордом делать дальше - показывать или нет. Как вариант - насильно активировать аксапту, что то вроде WinApi::ActivateWindow(). Могу ошибатся в методе, но идея думаю понятна. PS На месте пользователя я бы ругал такой подход. Если выгрузка занимает определенное время, его можно потратить на другие задачи. Просмотр прогрессбара не доставляет особого удовольствия ![]()
__________________
AxAssist 2012 - Productivity Tool for Dynamics AX 2012/2009/4.0/3.0 Последний раз редактировалось Alex_KD; 23.11.2007 в 09:07. |
|
![]() |
#3 |
Участник
|
Есть метод setForegroundWindow() на классе WinAPI
Дескриптор главного окна аксапты можно получить через класс Info - infolog.hwnd() Пишу все из головы,поэтому возможны неточности ![]() |
|
|
За это сообщение автора поблагодарили: Proba (1). |
![]() |
#4 |
Участник
|
Alex_KD,
Код: worddocument.visible(false) Это не совсем то, но всё равно спасибо.kashperuk Цитата:
Пишу все из головы,поэтому возможны неточности
![]() X++: WinApi::setForegroundWindow(infolog.hWnd()); ![]() |
|
![]() |
#5 |
Участник
|
И все таки я бы не стал насильно предлагать смотреть только на AX.
Но дело ваше ![]()
__________________
AxAssist 2012 - Productivity Tool for Dynamics AX 2012/2009/4.0/3.0 |
|
|
|