Можно управлять тем, как в меню отображается доступность команды в программе. Они могут быть серыми (недоступными для выбора), их можно помечать галочкой или рамкой, а также использовать сочетание этих способов.
Команды меню могут содержать строковые выражения 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.
См. также
Создание недоступным имя команды в меню (Процедура)
Пометка имени команды в меню (Процедура)
Одновременное создание недоступного и помеченного имени команды в меню (Процедура)
Ваш комментарий об этой странице |