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

[Ц,Рад       ]\\

[Ц, Диам     ] \_d 

[2 точки ]_2р \ [3 точки ]_3р \\

[ККР]_ttr

[ККК    ]_3р _tan \_tan \_tan \

[Коп рад: ]^С^С_ circlerad '_cal rad;

Если значение системной переменной равно 0, то автоматическая смена меню не происходит.

29. Использование комбинации ^Н

Экранное меню может использоваться и для облегчения клавиатурного ввода некоторых наименований или отдельных символов. Например, если в вашем рисунке находится модель изделия, в котором имена слоев объектов задаются исключительно цифрами и несколькими символьными кодами, тогда можно составить отдельное экранное меню, в котором каждая из 10 цифр (от 0 до 9) будет занимать отдельную строку, и дополнить это меню наиболее употребительными сокращениями (например, ДЕТ, УЗЕЛ и т. п.). Тогда в соответствующий момент работы вашего приложения (когда оно запрашивает у вас сложное имя слоя) вы вместо нажатия клавиш сможете щелкать мышью по строкам экранного меню с нужными цифрами, и они будут выводиться в командную строку. Однако, если не принять специальных мер, то после каждой цифры AutoCAD будет имитировать еще нажатие клавиши <Enter>, что приведет к досрочному вводу числа.

В качестве такой специальной меры следует после каждой цифры в макросах вставлять комбинацию символов ^н, имитирующую работу клавиши <Backspace>, что позволит выводить в командную строку нужную вам цифру без нажатия клавиши <Enter> (как будто вы отменили его). То же самое относится к кодовым сокращениям. Пример фрагмента меню, использующего комбинацию ^H, показан в листинге 4.7.

Листинг 4.7. Пример пользовательского экранного меню для ввода цифр

**NUMBERS  3

[-]-^H       [0]0^Н   

[1]1^Н

[2]2^Н

[3]з^H

[4]4^Н

[5]5^Н

[6]6^Н

[7]7^Н

[8]8^Н

[9]9^Н

[ДЕТ]ДЕТ^Н

[УЗЕЛ]УЗЕЛ^Н

После набора в командной строке с помощью такого меню имени слои (например, УЗЕЛ15-2339-012), вам нужно будет самостоятельно нажать клавишу <Enter> или правую кнопку мыши для вызова контекстного меню, в котором найти пункт Enter.

30. Графические меню

Графические меню использует заранее подготовленные слайды и библиотеки слайдов. Описание графических меню располагается в разделе IMAGE. Имена меню, которых в разделе может быть много, записываются в отдельных строках с префиксом из двух звездочек.

31. Структура пункта

Пункты графического меню описывают операции, которые выполнит система AutoCAD, если пользователь щелкнет по слайду с нужным изображением. Меню раздела IMAGE не имеют тегов, а наименование меню задается в одном из шести вариантов:

[<слайд>] —  отображает слайд  из  файла с  именем   <слайд>  в  области слайдов;

[<слайд>,<текст>] — отображает слайд с именем <слайд> в области слайдов, а <текст> — в области текстовых надписей;         

[<библиотека>(<слайд» ] — отображает слайд с названием <слайд>, включенный в библиотеку с именем <библиотека>;         

[<библиотека>(<слайд>,<текст>) ] —  отображает  слайд   из  библиотеки  в области слайдов, а <текст> — в области надписей;         

[<пусто>] — выводит разделительную линию в области надписей и пустой слайд в области слайдов (<пусто> — текст из одних пробелов);

[<текст>] — выводит текст в зону надписей и пустой слайд (обратите     внимание на то, что перед параметром <текст> стоит пробел); используется в сложных меню для надписей типа Выход.

В этих вариантах в параметре <слайд> не надо указывать расширение *.slb, а в параметре <библиотека> — надо. В то же время параметр <слайд> в первом и втором вариантах и параметр <библиотека> в третьем и четвертом вариантах могут содержать полные имена файлов с путями.

Макросы, используемые в графических меню, удовлетворяют тем же требованиям, что и макросы других типов меню. В листинге 4.8 приведен текст графического меню image_vporti из базовой группы ACAD.

Листинг 4.8. Графическое меню image_vporti из файла acad.mnu