й, що обрамляють пункти
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 Графічні компоненти - панелі