16+
Воскресенье
19 ноября
Вход |Карта сайта | |Upload |codebook | PARTS

 О смысле всего сущего 0xFF

 Средства и методы разработки

 Мобильная и беспроводная связь

 Блошиный рынок Объявления

caxapa

Микроконтроллеры ARM 

AVR PIC MSP PLD,FPGA,DSP 

Кибернетика Технологии 

Схемы, платы, компоненты 

ARM-контроллеры

 
   Новая тема Правила Регистрация Поиск »» Архив
Вернуться в конференциюТопик полностью
aoreh  (13.11.2017 17:55 - 13.11.2017 18:02) , в ответ на Изобретаю велосипед пользовательское меню. автор: misyachniy
А зачем вообще так сложно? 
Нельзя ли просто иметь вот типа такую структуру:
typedef void(*menu_func) (void);

struct main_menu_item{
       int level;
       menu_func *function;
       char * string_menu;
       int type; // ну там чек, н-р, или номер картинки
       };

и, соответственно, описание меню:
const main_menu_item menu[] = 
{
    { 0, funcXX, "Пункт 1" },
    { 0, funcXX, "Пункт 2" },
    { 1, funcXX, "Пункт 2.1" },
    { 0, funcXX, "Пункт 3" },
    { 1, funcXX, "Пункт 3.1" },
    { 1, ..... },
    { 1, ..... },
    { 2, funcXX, "Пункт 3.3.1" },
    { 2, funcXX, "Пункт 3.3.2" },
    { 1, funcXX, "Пункт 3.4" },
    { 0, funcXX, "Пункт 4" },
};
там, где ф-ии не нужны, а нужно только раскрывать подменю, то, разумеется, заменить на нулптр. Как вариант, не пользовать номер глубины, а 1, где нужно в подменю, 0 на том же уровне, -1... -n, для возврата на нужный уровень
 [x][x][x][x][x][x] [x][x][x][x][x][x][x][x]

Тема выделяется по переводу строки или автоматом

 

Имя


Регистрация позволит вам редактировать и перемещать ваши сообщения и прикреплять к ним файлы.
 
Символы: á é ó ú ý « »
Главная | Карта сайта | О проекте | Проекты | Файлообменник | Регистрация | Вебмастер | RSS
Лето 7526 от сотворения мира. При использовании материалов сайта ссылка на caxapу обязательна.
MMI © MMXVII