Пользовательский интерфейс системы AutoCAD. Адаптация существующих меню, создание новых меню, изменение функций элементов, страница 14

_Fioating — панель находится в плавающем положении;

_Tор — панель фиксирована в верхнем горизонтальном положении;

_Bottom — панель фиксирована в нижнем горизонтальном положении;

_Left — панель фиксирована в левом вертикальном положении;

__Right — панель фиксирована в правом вертикальном положении.

Параметр <видимость> может принимать только такие значения (регистр неважен):

_Hide — панель убрана с экрана;

_Show — панель находится на экране. 

Параметры <х> и <у> задают, соответственно, положение, в пикселах, левой и верхней кромок панели. Положение левой кромки указывается от левой границы, а верхней кромки — от верхней границы окна системы AutoCAD.

Параметр <ряды> указывает количество рядов, которые занимает панель в плавающем положении.

В примере, приведенном в листинге 4.9, панель Свойства объектов видима и зафиксирована в верхнем горизонтальном положении.         Далее вслед за строкой со свойствами панели идет строка, описывающая кнопку. Наименование пункта меню, соответствующего описанию кнопки, имеет такую структуру:

[ Button(<подсказка>, <пиктограмма-16>, <пиктограмма-24>)]

Здесь параметр <подсказка> — это текстовая строка с подсказкой к данной кнопке. Параметры <пиктограмма-1б>, <пиктограмма-24> определяют имена растровых файлов в BMP-формате, которые содержат пиктограммы кнопки в малом и большом форматах (величина кнопок управляется состоянием флажка Крупные кнопки (Large Buttons) в диалоговом окне Панели (Toolbars)). Пиктограммы малого формата имеют размер 16x15 пикселей, а большого — 24x22 пикселя. Имена BMP-файлов, указанных в определении кнопок, должны быть доступны системе AutoCAD с помощью путей поиска файлов поддержки (см. разд. 1.3). Если указанные BMP-файлы имеют размер больше требуемого, то AutoCAD их усекает.

В примере, приведенном в листинге 4.9, первая кнопка имеет подсказку "Сделать слой объекта текущим", а в качестве имен BMP-файлов указано имя одного и того же файла icon_16_molc.bmp.

Макрос, используемый при работе кнопки, удовлетворяет обычным требованиям. Между кнопками могут быть разделительные линии. Они программируются с помощью пунктов, имеющих наименование* из двух минусов. В примере, приведенном в листинге 4.9, есть еще один тип пункта — это список, наименование которого имеет следующую структуру:

[_Control (<ТИП>) ]

Параметр <тип> определяет тип выводимого списка и может принимать только одно из значений:

_color — цвета;

_Dimstyle — размерные стили;

_Layer — слои; 

_Linetype — типы линий;

_Lineweight — веса линий;

_Plotstyle — именованные стили печати;

_Refblkname — внешние ссылки;

_UCSManager — системы координат;  

_View — виды;  

_ViewportScale — масштабы видовых экранов.

В панели Свойства объектов используются сразу пять списков: слоев, цветов, типов линий, весов линий и стилей печати. Списки не отображаются на экране, когда панель инструментов находится в   вертикальном положении. Остался нерассмотренным только один тип пункта, который не встретился в    панели Свойства объектов. Это пункт, соответствующий групповой кнопке. Такая кнопка имеет черный треугольник в правом нижнем углу пиктограммы и фактически заменяет собой целую панель.

В листинге 4.10 приведен фрагмент стандартного меню системы AutoCAD, содержащий описания групповых кнопок (он входит в меню ТВ STANDARD, соответствующее панели инструментов Стандартная).

 Листинг 4.10. Фрагмент раздела TOOLBARS файла acad.mnu

ID_TbOsnap [_Flyout("Объектная привязка", ICON_16_OSNAP, ICON_16_OSNAP, _0therIcon,   ACAD.TB_OBJECT_SNAP)]

ID_TbUcs     [_Flyout("ПCK",   ICON_16_UCS,   ICON_16_UCS,   _0therIcon, ACAD. TB__UCS) ]

ID_TbInquiry [_Flyout("Сведения", ICON_16_LIST, ICON_16_LIST, _0therIcon, ACAD.TB_INQUIRY)]

Наименование пункта, соответствующего групповой кнопке, имеет такую структуру: