---
title: "Создание контекстной панели для библиотечных макроэлементов и работа с ней"
type: guide
api: [api7]
tags: [guide, api7, panel]
sources:
  - panel_create.html
---

*Создание прикладных библиотек  > Рекомендации по созданию прикладных библиотек *

В 2D для библиотечных макроэлементов существует возможность создания "своей" контекстной панели. Наличие для макроэлемента специфической для него контекстной панели повышает удобство и скорость вызова команд для работы с этим макроэлементом. Состав контекстной панели полностью определяется библиотекой, аналогично определению состава библиотечной панели инструментов.
Состав контекстной панели формируется так же, как и для обычной панели команд - через возврат идентификатора панели в функции LibToolBarId;
nt WINAPI LibToolBarId( int barType, // Тип запрашиваемой панелей (0 - компактная панель, 1 - простая инструментальная панель, 2 - контекстная)
int index ); // Индекс панели.
Чтобы библиотека могла определить, что команда вызвана из контекстной панели, для команд контекстной панели необходимо задать свой диапазон идентификаторов.
На контекстной панели располагаются кнопки команд библиотеки.
В контекстной панели может быть два ряда кнопок: для верхнего index - 0, для нижнего - 1.
Можно оставить только один (верхний) ряд кнопок или вообще запретить показ панели, возвратив для обоих индексов 0.
Управление доступностью кнопок контекстной панели происходит через функцию LibCommandState.
Если библиотека не определяет свою контекстную панель, то показывается контекстная панель, определенная в КОМПАС.
Примечание:
Отображение контекстной панели подчиняется так же системной настройке Система - Общие - Контекстная панель.
