[an error occurred while processing this directive]
|
Общая идея у меня была такая:
Меню - это массив структуры Пункт_Меню
В каждом Пункте_Меню я хранил строку для отображения на экране, указатель на функцию, которая запускалась при выборе меню, а также, я для облегчения себе жизни ввел еще 4 указателя на другие Пункты_Меню
Поскольку все управление интерфейсом в моем случае сводилось к 4 клавишам ( [<-] [->] [ВВОД] [СБРОС] ), то я сделал по аналогии с менюшками в мобильниках. Поэтому для навигации хранил указатели на верхний уровень меню, на соседние меню (слева/справа), и на первый пункт в подменю (если было подменю). Вся реализация получилась достаточно простой и надежной.
Я хранил массив меню в памяти программ поскольку мне не нужно было его динамически модифицировать, однако легко видеть, что при хранении в ОЗУ, такое меню легко модифицировать.
Самое ответственное - это формировать статический массив меню. Если еще и начинаешь в процессе разработки его подправлять, то легко где-то потерять указатель на соседние меню. Но при тестировании на железе этот факт естественно вылазит наружу очень быстро.
E-mail: info@telesys.ru