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

ADN Club => AutoCAD .NET API => Тема начата: Алексей (IdeaSoft) от 25-03-2017, 10:27:14

Название: Как запретить повтор выполнения команды
Отправлено: Алексей (IdeaSoft) от 25-03-2017, 10:27:14
В нете пишут, что с autocad 2009 появись возможность не повторять
последнюю команду, вместо этого достаточно нажать пробел на клавиатуре.

А возможно ли через API сделать, чтобы нажатием пробела
последняя команда не повторялась?
Может за это отвечает какая системная переменная или настройка?



Название: Re: Как запретить повтор выполнения команды
Отправлено: Александр Ривилис от 25-03-2017, 13:48:51
А возможно ли через API сделать, чтобы нажатием пробела
последняя команда не повторялась?
Для любой команды это сделать нельзя. А для твоей собственной можно. Достаточно зарегистрировать её с флагом NoHistory.
Например:
Код - C# [Выбрать]
  1. [CommandMethod("MyCommand", CommandFlags.NoHistory)]
  2. public static void MyCommand()
  3. {
  4.    Application.DocumentManager.MdiActiveDocument.Editor.
  5.           WriteMessage("\nКоманда NoHistory");
  6. }
  7.  
Название: Re: Как запретить повтор выполнения команды
Отправлено: Александр Ривилис от 25-03-2017, 13:50:05
В нете пишут, что с autocad 2009 появись возможность не повторять
последнюю команду, вместо этого достаточно нажать пробел на клавиатуре.
Это не с AutoCAD 2009 появилось, а было как минимум с AutoCAD R10. Команда повторялась пробелом или клавишей ENTER.