28/02/2017
Как запретить выполнение конкретной команды AutoCAD
Вы можете запретить выполнение команды внутри события “DocumentCollection.DocumentLockModeChanged”. Это событие вызывается сразу перед тем как AutoCAD начнёт выполнение этой команды. Посмотрите как можно запретить завершение работы AutoCAD.
Код - C#: [Выделить]
- [CommandMethod("AddVetoToQuit")]
- static public void AddVetoToQuit()
- {
- DocumentCollection doc = Application.DocumentManager;
- doc.DocumentLockModeChanged +=
- new DocumentLockModeChangedEventHandler(
- doc_DocumentLockModeChanged);
- }
- [CommandMethod("RemoveVetoToQuit")]
- static public void RemoveVetoToQuit()
- {
- DocumentCollection doc = Application.DocumentManager;
- doc.DocumentLockModeChanged -=
- new DocumentLockModeChangedEventHandler(
- doc_DocumentLockModeChanged);
- }
- static void doc_DocumentLockModeChanged(object sender,
- DocumentLockModeChangedEventArgs e)
- {
- if (string.Compare(e.GlobalCommandName, "QUIT", true) == 0)
- {
- e.Veto();
- }
- }
Источник: http://adndevblog.typepad.com/autocad/2012/05/veto-a-particular-command-in-autocad.html
Автор перевода: Александр Ривилис
Обсуждение: http://adn-cis.org/forum/index.php?topic=7659
Опубликовано 28.02.2017