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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 13.11.2006, 18:43   #1  
Link is offline
Link
Британский учённый
Аватар для Link
Соотечественники
 
568 / 523 (19) +++++++
Регистрация: 25.11.2005
Адрес: UK
Записей в блоге: 9
? Модальное окно.
Доброго времени суток.
Смотрел на форуме, но ответа на свой вопрос не нашел. Как заставить форму при запуске в зависимости от парметров становиться модальной. Смотрел WinApi::sendMessage() там вроде никак нельзя. Вариант что все остальные окна не активны (как на форуме нашел) не подходит. Т.е. нужно окно со свойством
WS_POPUP либо WS_EX_TOPMOST, но это как я понимаю задается только перед запуском окна. Может есть возмодность при вызове формы из кода задавать эти свойства?
Кто может поделиться идеями на эту тему?

Спсибо.
Старый 13.11.2006, 19:01   #2  
konfet is offline
konfet
Снова балуюсь косаптой :)
 
143 / 50 (2) ++++
Регистрация: 23.04.2003
Адрес: Moscow
В аксапте модальное окно возможно сделать только конструкциями типа box::info - для вывода обязательных к прочтению пользователем сообщений и обязательных к ответу вопросов с выбором Да/Нет. Всё остальное от лукавого. Лучше бы вам разьяснить пользователям, что они могут прекрасно жить и без модальных окон.
__________________
Бесты и регарды!
Старый 13.11.2006, 20:21   #3  
Aleksey_M is offline
Aleksey_M
Administrator
Аватар для Aleksey_M
 
520 / 355 (13) ++++++
Регистрация: 26.08.2005
Адрес: Москва
Link
Случайно зашел в эту тему, насчет аксапты я не в курсе, но раз уж упомянуто winapi и стили, то тада небольшая цитата по той же WS_EX_TOPMOST:
Цитата:
Сообщение от msdn
WS_EX_TOPMOST
Specifies that a window created with this style should be placed above all non-topmost windows and should stay above them, even when the window is deactivated. To add or remove this style, use the SetWindowPos function.
+ BringWindowToTop
+ SetForegroundWindow
+ до кучи, функцией SetWindowLong можно стиль окна поменять.
__________________
Был грязный плащ на нем одет,
Цилиндр черный смят в гармошку...
Старый 14.11.2006, 01:48   #4  
StasD is offline
StasD
Участник
 
24 / 15 (1) ++
Регистрация: 10.09.2003
Адрес: Хабаровск
См. линк
http://www.axforum.info/forums/showt...BB%D0%BE%D0%B3
Старый 14.11.2006, 10:56   #5  
Link is offline
Link
Британский учённый
Аватар для Link
Соотечественники
 
568 / 523 (19) +++++++
Регистрация: 25.11.2005
Адрес: UK
Записей в блоге: 9
Post
ALL:
Всем большое спасибо!
Проблему решили вот таким образом:
X++:
    FormBuildDesign design;
    ;

    design = element.form().design();
    design.windowType(FormWindowType::PopUp);
Нужно писать перед супером метода init().

Aleksey_M:
Цитата:
+ BringWindowToTop
+ SetForegroundWindow
+ до кучи, функцией SetWindowLong можно стиль окна поменять.
Пробовал не помогло. BringWindowToTop(this.hWnd()) без результата, вторая тоже самое, игрался со стилями как тоже не менят, может конечно что то не так делал

StasD:
Спасибо но это не то. У меня задача не запретить остальные окна а вынести новое окно поверх уже существующих.
Старый 14.11.2006, 11:25   #6  
konfet is offline
konfet
Снова балуюсь косаптой :)
 
143 / 50 (2) ++++
Регистрация: 23.04.2003
Адрес: Moscow
Цитата:
Сообщение от Link Посмотреть сообщение
ALL:
Всем большое спасибо!
Проблему решили вот таким образом:
X++:
    FormBuildDesign design;
    ;

    design = element.form().design();
    design.windowType(FormWindowType::PopUp);
Нужно писать перед супером метода init().
Свойство WindowType вообще-то лучше выставлять не в коде, а у узла Design формы
Кроме того, модальным в общепринятом смысле окно с WindowType = PopUp не является, ибо все равно с него можно "соскочить" на любое другое открытое в аксапте окно. Просто попапное будет его перекрывать на экране.
__________________
Бесты и регарды!
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Диалоговое окно с запросом Poleax DAX: Программирование 3 21.05.2008 10:40
Динамичное д. окно Novice DAX: Программирование 2 26.06.2003 13:50
диалоговое окно в init (e) Report (a) Natasha DAX: Программирование 8 05.03.2003 16:42
Как сделать модальное окно? Yuri Safronov DAX: Программирование 5 03.09.2002 15:45
Help! Активное окно в Ахапта. ans DAX: Функционал 3 28.08.2002 10:19

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

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

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