Пользовательский интерфейс системы AutoCAD. Адаптация существующих меню, создание новых меню, изменение функций элементов, страница 6

^т           Имитация клавиши <Tab>                          <Tab>

Рассмотрим некоторые пункты приведенного в листинге 4.1 меню и операции, выполняемые ими. Пункт с тегом ID_Hеlр имеет наименование Справка по AutoCAD. Приведенное после символа табуляции (\t) в наименовании обозначение клавиши <F1> означает, что действие данного пункта может быть имитировано нажатием функциональной клавиши <F1>. Действие пункта — это вызов команды СПРАВКА (HELP). Знак подчеркивания перед английским именем команды обеспечивает ее выполнение в локализованных версиях. Символ апострофа перед знаком подчеркивания сообщает, что команда вызывается в 1 прозрачном режиме (т. е. может быть выполнена до завершения работы другой команды).

Пункт с тегом ID_PiotHelp имеет наименование Печатьс Инструктором. Соответствующий ему макрос начинается с двукратного употребления символов ^с, что аналогично двукратному нажатию клавиши <Esc> — это позволяет прекратить работу любой команды, выполнявшейся, но не законченной до щелчка по названию рассматриваемого пункта меню. Для прекращения   большинства команд достаточно однократного нажатия клавиши <Esc>. Однако некоторые команды (например, команда РАЗМЕР (DIM)) требуют для прерывания своей работы двукратного нажатия клавиши <Esc>. Если никакая команда в этот момент не работала, то лишние нажатия клавиши <Esc> не вызывают никаких сбоев системы AutoCAD,

Вслед за символами ^с в макросе идут символы ^р, которые отключают эхо-вывод текста пункта меню (устанавливают значение 1 системной переменной MENU ECHO). Поэтому следующее далее LISP-выражение (help "acad_plt" "Fast_Track_to_Plotting_Your_First_Drawing") будет выполнено, но не отображено в командной строке AutoCAD. Символ пробела после LISP-выражения равносилен нажатию клавиши пробела (идентично нажатию клавиши <Enter>), что заставляет систему AutoCAD выполнить введенное с помощью меню выражение. Завершающая макрос комбинация символов ^р восстанавливает эхо-вывод.

13. Пауза в пункте меню

Интересно использование символа \, обозначающего паузу для ввода данных пользователя. В листинге 4.2 приведен фрагмент из раздела РОР7 (падающее меню Рисование) стандартного меню системы AutoCAD 2000.

 Листинг 4.2. Фрагмент раздела РОР7 файла acad.mnu

ID_ArcStCeEn [Начало,          центр,         &конец]^С^С_аrс \_с

ID_ArcStCeAn [Начало,          центр,         &угол] ^С^С_аrс \_с \_а

ID_ArcStCeLe [Начало;          центр,         &длина]^С^С_аrс \_с \_l

[--]

ID_ArcStEnAg  [Начало,         конец,         у&гол]^С^С_агс   \_е   \_а  

ID_ArcStEnDi  [Начало, конец,         &направление] ^С^С_агс  \_е   \__d

ID_ArcStEnRa       [Начало,     конец,         &радиус]^C^C_arc \__е   \_r    

ID_ArcCeStEn  [Центр, начал&о, конец]^С^С_аrс __с

ID_ArcCeStAn [Центр, нача&ло, угол] ^С^С_аrс _с \\_а

ID_ArcCeStLe  [Центр, начало, дл&ина] ^С^С_аrс _с \\__l

Все приведенные здесь пункты меню (не считая разделительных линий) являются вариантами работы одной и той же команды ДУГА (ARC). Эта команда имеет много опций. В падающее меню включены девять вариантов работы команды. Символ «\» задает паузу, когда команда должна остановиться и ждать от пользователя числа или точки.

Например, пункт с тегом ID_ArcStCeAn строит дугу по начальной точке, центру и центральному углу. Поэтому данный пункт вызывает команду ДУГА (ARC), останавливаясь сразу же после начала работы команды (в этот момент пользователь должен ввести начальную точку). После ввода начальной точки в командную строку выдаются символы __с (соответствуют вводу опции Центр (Center)) и следующая пауза заставляет команду ожидать от пользователя ввода точки центра дуги. После ввода центра выдаются символы _а (соответствуют опции Угол (Angle)), и команда ДУГА (ARC) ждет от пользователя задания угла. Здесь символ паузы в меню уже не требуется, поскольку команда не имеет в данный момент других вариантов работы.