|
Делал так:
всю структуру меню представил ввиде массива из элементов такой структуры:
struct menu {
unsigned char top,sub,next,prev; /* это индексы массива для перехода на уровень выше/ниже, для перехода по горизонтали меню следующий/предыдущий */
char s[17]; /* строка выводимая на экран (собственно строка меню) */
void (*func)(void); /* функция вызываемая при выборе меню */
};
Это так сказать был мой минимальный уровень, далее я эту идею развивал сильнее.
Так вот: мне для определения положения в меню оказалось достаточно только одной переменной -- индекса массива меню, который показывает текущее положение. Все остальные переходы легко осуществляются через элементы структуры top,sub,next,prev.
Дальше надеюсь догадаешься как можно адаптировать это к твоей задаче.
E-mail: info@telesys.ru