ObjectARX, AutoCAD. Среда программирования библиотеки C++



         

Много-документные команды


Команда много-документа позволяет пользователям переключать документы при отобранных подсказках пользователя, в то время как команда остается в контроле. Способность иметь единственную команду остается активной поперек документов,  очень сложен. В точке выполнения, когда пользователь выбрал, другой документ, чтобы переключить к, все документы голосует для ввода. Они поэтому имеют потенциально запутанные установленные состояния командного процессора, включая возможно вложенные команды, выражения AutoLISP, сценарии, активные, и все в произвольном порядке вложения.

Не может легко определять, уже не говоря о прививают, подходящие элементы одного состояния в другой без главного усилия. Вместо этого, лучшая стратегия - для приложения, чтобы сохранить контроль поперек указанных пользователем выключателей документа, даже если приложение должно быть осуществлено как различные команды в различных окнах. Тогда, все прикладные потребности - механизм к цепным отдельным командам, выполняющимся в различных документах, и контроле, которые командуют, чтобы начаться при изменении{*замене*} документов.

Чтобы синхронизировать действия множественных команд, осуществьте реактор, который перегружает следующие AcApDocManager реакторные функции:

virtual void

documentActivated( AcApDocument* pActivatedDoc );

virtual void

documentToBeDeactivated( AcApDocument* pDeActivatedDoc );

DocumentToBeActivated() реакторная функция может также использоваться, но это происходит прежде, чем документ активизирован. Контекст документа не был установлен в этом случае.

Эти повторные вызовы вызваны всякий раз, когда пользователь нажимает на различный документ, чтобы активизировать это. Реакторы должны только использоваться на AcApDocManager, когда в начальной команде как раз перед запросом ввода пользователя, в точке, когда переключение документа должно быть поддержано. Реактор должен быть удален, когда любой или все такие подсказки закончены или отменены. От повторного вызова, вызовите:




Содержание  Назад  Вперед