Bonjour,
J'ai déjà bricoler des gui (certes très basiques) avec un écran TFT tactile.
Moi je procède en deux parties.
- affichage du menu (une fonction de dessin par menu + surlignage de la sélection courante)
- gestion du menu avec une machine à états fini
Chaque menu, sous menu, ... étant un état de la machine (= un bête switch sur une variable avec un enum pour rendre les "case" un peu plus lisible).
Sinon tu peut faire un système à base de classes (comme le fait menubackend), avec une classe représentant un item de menu, une classe représentant un menu (qui hérite elle même de la classe item).
Avec pour chaque classes une fonction de dessin et une liste de sous-item/menu.