|
каждый пункт меню описан как структура. Немного внес элементов С++, а именно, первые несколько пунктов должны быть одного типа у всех пунктов. Свое рода наследие от предков.
В общем виде это его название (пункта), указатель на callback функцию отриовки пункта, указатель на callback ф-цию реакции пункта на нажатие клавиш
В некоторых случаях - тип переменной, ассоциированной с этим пунктом (подменю тоже переменная)
Преимущество такого подхода, на мой взгляд в его универсальности - у пунктов есть четко определенный интерфейс, обрабатываемый менеджером пунктов. Для вновь добавляемых типов данных не надо ничего менять, просто структура описания пункта увеличивается в объеме. Вобщем писать легко, но код потребляет.
Есть иной вариант, написать мастер написания меню для компа, а он генерит на выходе уже банальную таблицу кросс-переходов. Кода меньше, но и читать сложнее
E-mail: info@telesys.ru