(menucmd "P10.2=~")
Это выражение отключает третий сверху пункт меню, заголовок которого в данный момент является десятым в строке падающих меню.
Отметка пункта меню не препятствует его отключению. Программное обеспечение системы AutoCAD контролирует состояние большинства пунктов группы ACAD и не дает возможности отключать ил пользовательским программам.
20. Восстановление пункта меню
Для того чтобы восстановить обычное состояние пункта падающего меню (снять отметку и отключение), нужно выполнить следующую операцию:
(menucmd "Р10.2=")
Данное действие восстановит пункт с номером 2 из десятого меню.
21. Замена меню
Возможна замена падающего меню на другое, которое еще не фигурирует в пользовательском интерфейсе. Схема замены следующая:
(menucmd "P1O=RITM.POP13")
Данная операция заменит десятое падающее меню в пользовательском интерфейсе на меню из раздела POPI3 группы RITM. Можно при замене опускать имя группы, если вместо предыдущего меню вставляется меню из группы базового меню, например:
(menucmd "Р10=РОР12")
Если в качестве базового в данный момент выбрано стандартное меню системы AutoCAD, то в этом случае десятое меню заменится на меню из раздела РОР12 группы ACAD. Вместо имени раздела (РОР13, РОР12) можно было использовать имена меню, которые следуют с префиксом из двух звездочек за строкой с именем раздела (например, в листинге 4.1, имя меню, находящегося в разделе РОР11, — help).
Примеры:
_ (menucmd "P10=RITM.GENHULL")
_ (menucmd "P10=HELP")
22. Справка о состоянии пункта меню
Справку о состоянии пункта можно получить с помощью функции «menucmd», используя знак вопроса в качестве значения параметра <действие>.
Пример:
(menucmd "P11.1=?")
Это выражение выводит состояние первого пункта одиннадцатого падающего меню.
Возвращается "~", если пункт 1 одиннадцатого падающего меню отключен; "!", если пункт содержит отметку слева от наименования; "", если пункт находится в обычном состоянии (включен и без отметки); nil, если нет падающего меню с таким номером. Если пункт и отключен и отмечен, то возвращается "~!" или "!~" в зависимости от порядка действий, выполненных над пунктом.
Возможно выполнение операции расширенной справки, для чего перед знаком вопроса следует добавлять символ #
(menucmd "P11.!=#?")
Это выражение возвращает состояние пункта, но с префиксом, например:
"Р11.1=" ИЛИ "Р11.1=!"
23. Каскадные меню
Падающие меню могут быть многоуровневыми, образуя каскадные меню. На рис. 4.15 показано падающее меню с трехуровневым каскадом. В листинге 4.3.приведен фрагмент раздела РОРЗ группы ACAD.
Листинг 4.3. Фрагмент раздела РОРЗ файла acad.mnu
ID_MnDisplay [->0тобра&жение]
ID__MnUCSicon [->&Пиктограмма ПСК]
ID_UcsiconOn [$ (if,$ (and, $ (getvar,ucsicon), 1) , ! . ) &Вкл]+$M=$ (if, $ (and, $ (getvar,ucsicon) , 1), ^C^C_ucsicon _off, ^C^C_ucsicon _on)
ID_JcsicoriOr [<-$(if,$ (and,$(getvar,ucsicon) ,2), !.)&Начало]+ $M=$(if,$(and,$(getvar,ucsicon}, 2) ,^C^C_ucsicon _no,^C^C_ucsicon _or)
ID_MnAttribu [->&Атрибуты]
ID_AttdispNo [$(if,$(eq,$(getvar,attmode) , 1) , !.)&Нормальное]+ '_attdisp_n
[--]
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.