Рабочие пространства можно использовать для управления отображением раскрывающихся меню в строке меню. Однако можно также программно выполнить подстановку раскрывающегося меню (например, когда пользователь загружает приложение, которому требуется дополнительное раскрывающееся меню).
Так как раскрывающиеся меню являются каскадными, необходимость их подстановки возникает редко. Более того, подстановка меню может понизить уровень согласованности элементов интерфейса пользователя. Однако с помощью команд $ можно поменять местами раскрывающиеся меню и подменю. Существует альтернативный метод подстановки меню, в котором используется относительная (или глобальная) адресация. Применяя его, пользователь может вставить новое меню перед другим, известным ему, а затем удалить известное меню.
Для целей подстановки раскрывающимся меню присвоены имена от P1 до P16. Заголовок, отображающийся в строке меню, можно изменить путем замены первой строки с помощью команды $Pn=. Чтобы вызвать раскрывающееся меню, назначенное псевдониму POPn, можно воспользоваться специальной командой $Pn=*, которую можно использовать в рамках любой команды. Это позволит улучшить возможности перемещения указывающего устройства.
Следующий пример макроса заменяет раскрывающееся меню на позиции P3 другим меню, которое называется new3 и является частью группы адаптации MYMENU.
$P3=mymenu.new3
В AutoCAD то же самое можно выполнить с помощью функции menucmd AutoLISP, сделав это следующим образом.
(menucmd "P3=mymenu.new3")
Чтобы вызвать появление на экране раскрывающегося меню, загруженного в область POPn, следует воспользоваться специальной командой $Pn=*. Ее можно включить в макрос любого пункта меню.
Подстановка меню производится путем активизации одного меню непосредственно из другого меню. Подстановка поддерживается для следующих элементов интерфейса:
Синтаксис подстановки фрагментов меню следующий:
$section=customizationgroup.menuname
Допустимые имена сечений: B1-4, A1-4, P0-16, T1-4
Имя группы адаптации в необходимом файле адаптации CUIx
Основная метка или псевдоним
Необходимо учесть следующие аспекты.
Можно использовать функцию AutoLISP menucmd (недоступно в AutoCAD LT) для вставки или удаления раскрывающихся меню. Ее синтаксис подобен применяемому для подстановки раскрывающихся меню, но в левой части операции присвоения должно быть записано меню, после которого вставляется новое. В правой части назначения находится значок "плюс" (+), далее следует имя группы адаптации, точка и псевдоним меню, как показано в следующем синтаксисе:
(menucmd "Gcustomizationgroup1.menuname1=+Gcustomizationgroup2.menuname2")
Можно также вставить меню с помощью синтаксиса Pn=. Следующий макрос выполняет вставку меню после менюP5:
$P5=+Gmymenu.new3
Один и тот же макрос можно использовать с помощью AutoLISP посредством следующих операций:
(menucmd "P5=+Gmymenu.new3")
При использовании этого метода для вставки меню нужно помнить, что оно не обязательно будет вставлено в положение меню P6, как того можно было ожидать. Существуют две возможные причины этого.
Удаление меню производится следующей директивой:
Gcustomizationgroup.menuname=-
Удаление меню с помощью AutoLISP осуществляется с использованием следующего синтаксиса:
(menucmd "Gcustomizationgroup.menuname=-")
В следующем примере показано, как удалить меню NEW3, входящее в группу MyMenu.
$Gmymenu.new3=-"
Предыдущий пример будет выглядеть в AutoLISP следующим образом:
(menucmd "Gmymenu.new3=-")
Такой способ удаления предпочтительнее, чем Pn=, так как гарантирует удаление того меню, которое требуется. В следующем примере показано, как удалить меню, находящееся в P4 (что бы это ни было).
$P4=-
Предыдущий пример будет выглядеть в AutoLISP следующим образом:
(menucmd "P4=-")
Панель инструментов обычно отображается с помощью рабочих пространств. Однако панель инструментов можно отобразить с помощью команды -ПАНЕЛЬ. Используйте следующий синтаксис для запроса Имя панели или [Все]: .
customizationgroup.toolbaralias
Этот синтаксис доступа к панели инструментов, определенной customizationgroup.toolbaralias.
Если группа адаптации не указана, программа по умолчанию использует основной файл адаптации (CUIx).