Можно управлять тем, как в меню отображается доступность команды в программе. Они могут быть серыми (недоступными для выбора), их можно помечать галочкой или рамкой, а также использовать сочетание этих способов.
Команды меню могут содержать строковые выражения DIESEL, с помощью которых выполняется динамическая смена состояния, пометка и модификация текста пунктов меню. Для получения более подробных сведений об использовании выражений DIESEL, см.Серые (недоступные для выбора) пункты меню
~). Команды и подменю, связанные с недоступным пунктом, не вызываются.
Для того чтобы пункты меню становились недоступными, его имя должно начинается с тильды (В приведенном примере тильда (~) вставлена в начале имени команды "Копировать вид" в ячейке "Имя" на панели "Свойства".
Это приводит к тому, что команда "Копировать вид" становится недоступной для выбора в меню "Правка".
Имена команд могут содержать строковые DIESEL-выражения, которые делают эти команды недоступными при определенных условиях. Например, при наличии строкового выражения DIESEL в ячейке "Макросы" на панели "Свойства" команда ПЕРЕНЕСТИ является недоступной, в то время как другие команды доступны.
$(if,$(getvar,cmdactive),~)MOVE^C^C_move
menucmd приложения AutoLISP также может использоваться для того, чтобы делать элементы недоступными или доступными из макросов или приложений. Например, см. раздел Обращение к раскрывающимся и контекстным меню.
Функция!.) в имени команды в ячейке "Имя" на панели "Свойства". Пункт меню может быть помечен одним из двух способов:
Имена пунктов меню можно пометить, поставив восклицательный знак и точку (Ниже приведен пример, в котором в меню "Правка" команда "Копировать вид" отмечена флажком, а изображение команды "Вставить" выделено рамкой:
Имена команд могут содержать строковые выражения DIESEL, которые помечают имена команд при определенных условиях. Например, при добавлении следующего выражения DIESEL в ячейку "Макросы" для применяемой команды в панели "Свойства", флажок устанавливается слева от имени пункта меню, системная переменная которого используется в данный момент.
$(if,$(getvar,orthomode),!.)Орто^O
$(if,$(getvar,snapmode),!.)Шаг^B
$(if,$(getvar,gridmode),!.)Сетка^G
menucmd приложения AutoLISP также может использоваться для пометки пунктов из макроса или приложения. Например, см. раздел Обращение к раскрывающимся и контекстным меню.
ФункцияОдновременные недоступность и пометка имен команд
Команды можно одновременно сделать недоступными и пометить, используя один из следующих форматов:
~!. текст
!.~ текст
Тильда (~) - это специальный символьный код, который делает команду недоступной, а комбинация символов !. - специальный символьный код для пометки команды.
!.) вставляются в начале имени команды "Копировать вид" в ячейке "Имя" на панели "Свойства". Это приводит к тому, что команда "Копировать вид" помечается и становится недоступной для выбора в меню "Правка".
Тильда (~), восклицательный знак и точка (
Как и в предыдущих примерах, для одновременной установки недоступности команды и ее пометки можно использовать выражения DIESEL.