- •Содержание
- •Основные принципы настройки
- •Основные возможности настройки
- •Организация программных и вспомогательных файлов
- •Коротко об организации файлов
- •Работа с несколькими конфигурациями
- •Хранение чертежей в нескольких папках
- •Настройка шаблонов Интернет-публикаций
- •Создание пользовательских команд
- •Описание внешних команд
- •Псевдоимена команд
- •Настройка типов линий
- •Обзор описаний типов линий
- •Создание простых типов линий
- •Текстовые объекты в пользовательских типах линий
- •Формы в пользовательских типах линий
- •Пользовательские образцы штриховки
- •Коротко об описании образцов штриховки
- •Образцы штриховки из прерывистых линий
- •Образцы штриховки из составных линий
- •Настройка интерфейса пользователя
- •Обзор диалогового окна "Настройка интерфейса пользователя"
- •Термины, используемые при настройке
- •Изменения в настройке
- •Обзор редактора настройки интерфейса пользователя
- •Фильтр отображения элементов настройки
- •Работа с файлами настройки
- •Основные сведения о файлах настройки
- •Перенос и передача настроек
- •Создание и загрузка частичного файла НПИ
- •Создание корпоративного файла НПИ
- •Команды настройки
- •Создание, редактирование и повторное использование команд
- •Имена команды "Найти" и строки поиска
- •Управление отображением имен команд
- •Создание изображений для команд
- •Создание подсказок в строке состояния
- •Создание макросов
- •Использование в макросах специальных управляющих символов
- •Пауза для пользовательского ввода
- •Поддержка иностранных языков в макросах
- •Повторение команд в макросе
- •Метод выбора объектов "Единственный"
- •Использование макроса для перестановки элементов интерфейса пользователя
- •Использование условных выражений в макросах
- •Использование AutoLISP в макросах
- •Настройка панелей инструментов
- •Создание и редактирование панелей инструментов
- •Добавление или замена элементов управления панели инструментов
- •Создание раскрывающихся и контекстных меню
- •Создание раскрывающегося меню
- •Создание контекстного меню
- •Создание подменю
- •Обращение к раскрывающимся и контекстным меню
- •Подстановка и вставка раскрывающихся меню
- •Задание клавиш быстрого вызова и временной замены
- •Создание операции при двукратном нажатии
- •Настройка кнопок мыши
- •Ввод координат в меню кнопок
- •Настройка элементов интерфейса предыдущей версии
- •Создание планшетных меню
- •Настройка кнопок планшета
- •Создание экранных меню
- •Создание меню мозаики изображений
- •Загрузка файла AutoLISP
- •Настройка рабочего пространства
- •Вопросы и ответы по настройке интерфейса пользователя
- •DIESEL
- •Настройка строки состояния
- •Системная переменная MODEMACRO
- •Присвоение значений MODEMACRO
- •Выражения DIESEL в макросах
- •USERS1-5 Каталог функций языка DIESEL
- •+ (сложение)
- •- (вычитание)
- •* (умножение)
- •/ (деление)
- •= (равно)
- •< (меньше)
- •> (больше)
- •!= (не равно)
- •<= (меньше или равно)
- •>= (больше или равно)
- •angtos
- •edtime
- •eval
- •getenv
- •getvar
- •index
- •rtos
- •strlen
- •substr
- •upper
- •Сообщения об ошибках языка DIESEL
- •Слайды и командные сценарии
- •Создание слайдов
- •Коротко о слайдах
- •Просмотр слайдов
- •Создание и просмотр библиотек слайдов
- •Создание файлов сценариев
- •Коротко о файлах сценариев
- •Вызов сценария при загрузке программы
- •Демонстрация слайдов с помощью сценариев
- •Введение в интерфейсы программирования
- •ActiveX Automation
- •Коротко об ActiveX
- •Запуск приложения из командной строки
- •Запуск приложения из меню или с помощью панели инструментов
- •AutoCAD VBA
- •Основные сведения о AutoCAD VBA
- •Использование приложений AutoCAD VBA
- •Автоматическая загрузка и выполнение проектов VBA
- •AutoLISP и Visual LISP
- •Коротко об AutoLISP и Visual LISP
- •Работа с приложениями AutoLISP
- •Автоматическая загрузка и выполнение процедур AutoLISP
- •Файл ACAD.LSP
- •Файл ACADDOC.LSP
- •MNL-файл и AutoLISP-функции для меню
- •Предотвращение ошибок AutoLISP при выполнении файлов автозагрузки
- •Функция S::STARTUP: выполнение после завершения инициализации чертежа
- •ObjectARX
- •Коротко об ObjectARX
- •Работа с приложениями ObjectARX
- •Обзор .NET
- •Формы и шрифты
- •Коротко о файлах форм
- •Создание файлов описаний форм
- •Описания форм
- •Коды длин и направлений векторов
- •Специальные коды
- •Коды 0, 1 и 2: Конец формы и управление режимом построения
- •Коды 3 и 4: Управление размером
- •Коды 5 и 6: Сохранение и восстановление позиции
- •Код 7: Субформа
- •Коды 8 и 9: Смещения по X-Y
- •Код 00A: Октантная дуга
- •Код 00B: Дробная дуга
- •Коды 00C и 00D: Дуги, заданные прогибом
- •Код 00E: Флаг вертикального текста
- •Описания текстовых шрифтов
- •Файлы-образцы
- •Расширенный одноштриховой Roman
- •Расширенный стандартный шрифт UNICODE
- •Описания больших шрифтов
- •Описание большого шрифта
- •Создание файла расширенного большого шрифта
- •Использование большого шрифта в чертежах
- •Использование большого шрифта для создания специальных символов
- •Описания шрифтов Unicode
- •Верхние и нижние индексы в SHX-файлах
- •Указатель
P n . i =?
Возвращает состояние недоступности и пометки указанного элемента в виде строки (например, ~ для недоступного пункта, !. для помеченного пункта, "" для пункта, который доступен и не помечен).
P n . i =#?
Возвращает такую же строку, как и P n .i=?, но с добавлением префикса P n . i = префикс. Это очень удобно в сочетании с формами @, поскольку возвращается фактический номер меню и номер элемента.
Например, если пятый элемент в разделе POP6 отключен, следующий код вmenucmd возвращает показанные ниже строковые значения.
(menucmd "P6.5=?") возвращает "~" (menucmd "P6.5=#?") возвращает "P6.5=~"
См. “Использование AutoLISP в макросах” в Руководстве разработчика AutoLISP.
Подстановка и вставка раскрывающихся меню
С помощью редактора настройки пользовательского интерфейса можно использовать рабочие пространства для управления подстановкой раскрывающихся меню. Однако можно также программно выполнить подстановку раскрывающегося меню (например, когда пользователь загружает приложение, требующее дополнительного меню).
Подстановка меню выполняет активизацию меню непосредственно из другого меню.
Подстановка раскрывающихся меню
Так как раскрывающиеся меню являются каскадными, необходимость их подстановки возникает редко. Более того, во многих случаях подстановка меню снижает логичность пользовательского интерфейса. Концепция подстановки раскрывающихся меню не согласуется с требованиями Microsoft® к пользовательскому интерфейсу и не гарантируется в последующих версиях AutoCAD. Существует альтернативный метод подстановки меню, в котором используется относительная (или глобальная) адресация. Применяя его, пользователь может вставить новое меню перед другим, известным ему, а затем удалить известное меню.
Для целей подстановки активным областям раскрывающегося меню присвоены имена от P1 до P16. Заголовок, отображающийся в строке меню, можно изменить путем замены первой строки с помощью команды $Pn=. Чтобы вызвать появление на экране раскрывающегося меню, загруженного в область POPn, следует воспользоваться специальной командой $Pn=*. Ее можно включить в макрос любого пункта меню.
Создание раскрывающихся и контекстных меню | 119
Ниже приведен пример подстановки в позицию P3 меню, которое называется BudsMenu и является частью группы настройки MYMENU.
$P3=MyMenu.BudsMenu
То же самое можно выполнить с помощью функции menucmd AutoLISP, сделав это следующим образом.
(menucmd "P3=MyMenu.BudsMenu")
Чтобы вызвать появление на экране раскрывающегося меню, загруженного в область
POP n , следует воспользоваться специальной командой $Pn =*. Ее можно включить в макрос любого пункта меню.
ПРИМЕЧАНИЕ Концепция подстановки раскрывающихся меню не согласуется с требованиями Microsoft® к пользовательскому интерфейсу и не гарантируется в последующих версиях программы.
Вставка и удаление раскрывающихся меню
Подстановка меню это активизация меню непосредственно из другого меню. Подстановка поддерживается для следующих элементов интерфейса:
■Кнопки
■Раскрывающиеся меню
■Кнопки мыши
■Меню мозаики изображений
■Планшетные меню
Синтаксис подстановки фрагментов меню следующий:
$раздел=группа_меню.имя_меню
раздел
B1-4, A1-4, P0-16, T1-4
группа_меню
Имя группы настройки в необходимом файле НПИ
имя_меню
Основная метка или псевдоним
Для вставки и удаления раскрывающихся меню можно использовать функцию AutoLISP menucmd. Ее синтаксис подобен применяемому для подстановки
120 | Глава 4 Настройка интерфейса пользователя
раскрывающихся меню, но в левой части операции присвоения должно быть записано меню, после которого вставляется новое. В правой части назначения находится значок "плюс" (+), далее следует имя группы меню, точка и псевдоним меню, как показано в следующем синтаксисе:
(menucmd "Gимя_группы1.имя_меню1=+группа_меню2.имя_меню2")
Можно также вставить меню с помощью синтаксиса Pn=. Приведенный ниже макрос выполняет вставку меню за имеющимся в позиции P5. (в этом формате также можно использовать функцию menucmd).
(menucmd "P5=+mymenu.new3")
Если для вставки меню используется этот метод, следует помнить, что меню Р6 не обязательно будет вставлено в ожидаемом положении. Для этого имеются две причины.
■Если в текущей строке меню имеется только три меню, вставка нового меню после меню P5 приведет к тому, что положением нового меню станет P4.
■Если файл настройки вставить или удалить с помощью команды НПИЗАГР или другого приложения, синхронизация меню может быть нарушена.
Удаление меню производится следующей директивой:
(menucmd "Gгруппа_меню.имя_меню=-")
В следующем примере удаляется меню NEW3, входящее в группу МоиМеню
(menucmd "Gmymenu.new3=-")
Такой способ удаления предпочтительнее, чем P n =, так как гарантирует удаление того меню, которое требуется. Ниже приведен пример удаления меню из позиции
P4.
$P4=-
ПРИМЕЧАНИЕ Синтаксис P n следует использовать только внутри функции menucmd. Используйте синтаксис $Pn в макросах.
Управление панелями инструментов при помощи частичных файлов НПИ
Используйте следующий синтаксис в ответ на подсказку "Имя панели инструментов" “ПАНЕЛЬ (вариант для командной строки)”- в командной строке для управления панелями инструментов с помощью частичных файлов НПИ.
группа_меню.имя_подраздела
Создание раскрывающихся и контекстных меню | 121