й, що обрамляють пункти  
 const int activeColor = 10 - колір активного в цей момент пункту 
  const int enabledColor = 3 - колір включеного пунктаint passiveColor = 4 - колір відключеного пункту 
  бібліотека алгоритм рядок 
  2.2.2 Item - пункт меню 
  Захищені поля: * caption - надпісьleft, top - координати групи пунктовindex - номер даного пунктаunderMenuLen - число пунктів підменю в групі ** underMenu - масив покажчиків для пунктів підменю * upperItem - покажчик на старший пункт 
  Відкриті поля: 
  bool enabled, activied - включений і чи активний пункт 
  Відкриті методи: 
  Item (Item * upperItem, char * caption, int left, int top, int index) - конструктор - ініціалізує всі, крім підміню 
				
				
				
				
			  ~ Item () - віртуальний деструктор 
  void (* onEnter) (Item * sender, Menu * place) - покажчик на обробник події входу в меню - отримує аргументами покажчик на поточні меню і пункт 
  void createUndermenu (int left, int top, int itemsN ...) - створення підміню, що виводиться в конкретній точці, з серії заголовків. На місце точок при виклику ставиться itemsN C-рядків. p align="justify"> int getIndex () - повернення номера пункту 
  Item * getUpperItem () - повернення покажчика на старший пункт * moveUp () - переміщення вгору по підміню, повертає покажчик на попередній включений пункт * moveDown () - переміщення вниз по підміню, повертає покажчик на наступний включений пункт * goToRoot () - закриття всіх підміню і повернення покажчика на кореневій пунктopen () - виведення пункту на екранclose () - приховування пункту (очищення екрана) * openUnderMenu () - відкриття (висновок) підміню і передача йому активності (перепрісваіванія поля activied) , повернення покажчика на пункт, що став актівнимcloseUnderMenu () - приховування підміню і повернення активності даному пункту * operator [] (int i) - повернення покажчика на i-й елемент підменю або 0, якщо підміню немає 
   .2.3 Menu - меню 
  Захищені поля: ** roots - масив покажчиків для кореневих елементовrootsN - число кореневих елементів 
  Захищені методи: open () - перша промальовування кореневих елементів * moveRight (Item * current) - переміщення вправо по кореневим пунктам, повернення покажчика на наступний від аргументу включений пункт * moveLeft (Item * current) - переміщення вліво по кореневим пунктам, повернення покажчика на попередній від аргументу включений пункт 
  Відкриті методи: ~ Menu () - віртуальний деструктор * operator [] (int i) - повернення покажчика на i-й кореневої елементperform () - управління процесом через меню (алгоритм на малюнку 4). 
   .3 Графічні компоненти - панелі