Домой
назад Оглавление вперед




[стр.-42]

P n . i = ?

Возвращает состояние недоступности и пометки указанного элемента в виде строки (например, ~ для недоступного пункта, !. для помеченного пункта, "" для пункта, который доступен и не помечен).

P n . i = #?

Возвращает такую же строку, как и p n .i=?, но с добавлением префикса p n . i = префикс. Это очень удобно в сочетании с формами @, поскольку возвращается фактический номер меню и номер элемента.

Например, если пятый элемент в разделе POP6 отключен, следующий код втепистгк! возвращает показанные ниже строковые значения.

(menucmd "P6.5=?") возвращает "~" (menucmd "P6.5=#?") возвращает "P6.5=~"

См. "Использование AutoLISP в макросах" в Руководстве разработчика AutoLISP.

Подстановка и вставка раскрывающихся меню

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

Подстановка раскрывающихся меню

Так как раскрывающиеся меню являются каскадными, необходимость их подстановки возникает редко. Более того, во многих случаях подстановка меню снижает логичность пользовательского интерфейса. Концепция подстановки раскрывающихся меню не согласуется с требованиями Microsoft® к пользовательскому интерфейсу и не гарантируется в последующих версиях AutoCAD. Существует альтернативный метод подстановки меню, в котором используется относительная (или глобальная) адресация. Применяя его, пользователь может вставить новое меню перед другим, известным ему, а затем удалить известное меню.

Для целей подстановки активным областям раскрывающегося меню присвоены имена от P1 до P16. Заголовок, отображающийся в строке меню, можно изменить путем замены первой строки с помощью команды $Pn=. Чтобы вызвать появление на экране раскрывающегося меню, загруженного в область POPn, следует воспользоваться специальной командой $Pn = *. Ее можно включить в макрос любого пункта меню.


Ниже приведен пример подстановки в позицию P3 меню, которое называется BudsMenu и является частью группы настройки mymenu.

$P3=MyMenu.BudsMenu

То же самое можно выполнить с помощью функции menucmd AutoLISP, сделав это следующим образом.

(menucmd "P3=MyMenu.BudsMenu")

Чтобы вызвать появление на экране раскрывающегося меню, загруженного в область

POP n , следует воспользоваться специальной командой $Pn Ее можно включить в макрос любого пункта меню.

ПРИМЕЧАНИЕ Концепция подстановки раскрывающихся меню не согласуется с требованиями Microsoft"7 к пользовательскому интерфейсу и не гарантируется в последующих версиях программы.

Вставка и удаление раскрывающихся меню

Подстановка меню это активизация меню непосредственно из другого меню. Подстановка поддерживается для следующих элементов интерфейса:

Кнопки

Раскрывающиеся меню

Кнопки мыши

Меню мозаики изображений

Планшетные меню

Синтаксис подстановки фрагментов меню следующий:

$раздел=группа меню.имя меню

раздел

B1-4, A1-4, P0-16, T1-4 группа меню

Имя группы настройки в необходимом файле НПИ имя меню

Основная метка или псевдоним

Для вставки и удаления раскрывающихся меню можно использовать функцию AutoLISP menucmd. Ее синтаксис подобен применяемому для подстановки


раскрывающихся меню, но в левой части операции присвоения должно быть записано меню, после которого вставляется новое. В правой части назначения находится значок "плюс" (+), далее следует имя группы меню, точка и псевдоним меню, как показано в следующем синтаксисе:

(menucmd "Симя группы1.имя меню1=+группа меню2.имя меню2")

Можно также вставить меню с помощью синтаксиса p n =. Приведенный ниже макрос выполняет вставку меню за имеющимся в позиции P5. (в этом формате также можно использовать функцию menucmd).

(menucmd "P5=+mymenu.new3")

Если для вставки меню используется этот метод, следует помнить, что меню Р6 не обязательно будет вставлено в ожидаемом положении. Для этого имеются две причины.

Если в текущей строке меню имеется только три меню, вставка нового меню после меню P5 приведет к тому, что положением нового меню станет P4.

Если файл настройки вставить или удалить с помощью команды НПИЗАГР или другого приложения, синхронизация меню может быть нарушена.

Удаление меню производится следующей директивой:

(menucmd "Сгруппа меню.имя меню=-")

В следующем примере удаляется меню NEW3, входящее в группу МоиМеню

(menucmd "Gmymenu.new3=-")

Такой способ удаления предпочтительнее, чем P n =, так как гарантирует удаление того меню, которое требуется. Ниже приведен пример удаления меню из позиции P4.

$P4=-

ПРИМЕЧАНИЕ Синтаксис p n следует использовать только внутри функции menucmd. Используйте синтаксис $Pn в макросах.

Управление панелями инструментов при помощи частичных файлов НПИ

Используйте следующий синтаксис в ответ на подсказку "Имя панели инструментов" "ПАНЕЛЬ (вариант для командной строки)"- в командной строке для управления панелями инструментов с помощью частичных файлов НПИ.

группа меню.имя подраздела



[стр.Начало] [стр.1] [стр.2] [стр.3] [стр.4] [стр.5] [стр.6] [стр.7] [стр.8] [стр.9] [стр.10] [стр.11] [стр.12] [стр.13] [стр.14] [стр.15] [стр.16] [стр.17] [стр.18] [стр.19] [стр.20] [стр.21] [стр.22] [стр.23] [стр.24] [стр.25] [стр.26] [стр.27] [стр.28] [стр.29] [стр.30] [стр.31] [стр.32] [стр.33] [стр.34] [стр.35] [стр.36] [стр.37] [стр.38] [стр.39] [стр.40] [стр.41] [стр.42] [стр.43] [стр.44] [стр.45] [стр.46] [стр.47] [стр.48] [стр.49] [стр.50] [стр.51] [стр.52] [стр.53] [стр.54] [стр.55] [стр.56] [стр.57] [стр.58] [стр.59] [стр.60] [стр.61] [стр.62] [стр.63] [стр.64] [стр.65] [стр.66] [стр.67] [стр.68] [стр.69] [стр.70] [стр.71] [стр.72] [стр.73] [стр.74] [стр.75] [стр.76] [стр.77] [стр.78] [стр.79] [стр.80] [стр.81] [стр.82] [стр.83] [стр.84] [стр.85] [стр.86] [стр.87] [стр.88] [стр.89] [стр.90] [стр.91] [стр.92] [стр.93] [стр.94] [стр.95] [стр.96] [стр.97] [стр.98] [стр.99] [стр.100] [стр.101] [стр.102] [стр.103]