Сообщество программистов Autodesk в СНГ

ADN Club => Revit API => Тема начата: ivmax от 13-09-2019, 19:36:44

Название: Обработка окна при импорте dwg
Отправлено: ivmax от 13-09-2019, 19:36:44
Здравствуйте, подскажите пожалуйста как обработать всплывающее, при открытии файла, окно об импорте dwg.
(https://i.postimg.cc/d7qFw2cR/123.jpg) (https://postimg.cc/d7qFw2cR)
Название: Re: Обработка окна при импорте dwg
Отправлено: Александр Ривилис от 14-09-2019, 12:48:17
Я не в курсе есть ли в Revit API прямая возможность для этого, но можно воспользоваться Windows Hooks по этому образцу: https://adn-cis.org/zapret-vsplyivaniya-dialogovyix-okon-v-autocad.html
Название: Re: Обработка окна при импорте dwg
Отправлено: Александр Игнатович от 14-09-2019, 13:53:38
Вообще говоря, прямая возможность есть, но, зачастую, есть нюансы.

Попробуйте подписаться на событие UIControlledApplication.DialogBoxShowing, отладчиком посмотрите DialogId, приходящем в аргументе DialogBoxShowingEventArgs (либо поковыряйте логи, которые пишет Revit, там, скорее всего, увидите нужный). Нюанс заключается в том, что это событие отрабатывает не на все диалоговые окна :-(

Если событие отлавливается, тогда можно вызывать метод OverrideResult по своим алгоритмам, если DialogId совпадает с указанным.

Если же нет, придётся использовать WinAPI, как подсказал Александр
Название: Re: Обработка окна при импорте dwg
Отправлено: ivmax от 04-10-2019, 17:42:13
в моем случаем событие не отрабатывало,
но если файл уже открыт то можно пользоваться  UIControlledApplication.DialogBoxShowing, событие срабатывает