Управление отображением имен команд
 
 
 

Можно управлять тем, как в меню отображается доступность команды в программе. Они могут быть серыми (недоступными для выбора), их можно помечать галочкой или рамкой, а также использовать сочетание этих способов.

Команды меню могут содержать строковые выражения DIESEL, с помощью которых выполняется динамическая смена состояния, пометка и модификация текста пунктов меню. Для получения более подробных сведений об использовании выражений 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.

См. также