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

27/03/2014

Как определить нажата ли кнопка Отмена в диалоговом окне DCL

Сейчас довольно редко используются диалоговые окна с помощью DCL в AutoCAD, но если вы используете их, то следующая информация может быть вам полезна.

Допустим, вы используете командные реакторы чтобы определить, когда определенные команды отменяются, но когда команда имеет диалоговое окно, нет никакой разницы, если пользователь нажимает Отмена или Да (просто вызывается командный реактор редактора commandEnded). Так, как же вы можете обнаружить разницу между Да и Отмена при выборе в диалоговом окне?

Это известное поведение для диалогов AutoCAD с использованием DCL. В качестве решения можно испольовать чтение системной переменной DIASTAT в методе commandEnded(). DIASTAT становится равной 0 если нажата кнопка Отмена, и 1 нсли нажата кнопка Да. А вот для команд AutoCAD, использующих MFC-диалоги, такого решения на данный момент нет.

Источник: http://adndevblog.typepad.com/autocad/2013/01/detecting-if-cancel-was-pressed-in-dcl-dialog-boxes.html

Обсуждение: http://adn-cis.org/forum/index.php?topic=635

Опубликовано 27.03.2014
Отредактировано 27.03.2014 в 13:59:35