Merci pour ta réponse, mon menu est assez complexe, j'aurais du le préciser avant.
Voici sa composition :
> Menu
->Mode>
->Retour
->Normal (affichage de toutes les infos)
->Altimètre
->Thermomètre (affichage Temp+Mini/maxi)
->GPS+Alti.
->Compteur
->Paramètres>
->Retour
->Heure/Date
->00 :00 :00
00/00/0000
->Affichage>
->Retour
->Luminosité
->0-1024 (par pas de 10)
->Contraste
->0-1024 (par pas de 10)
->Rétroéclairage
->Off/Auto/1-10sec
->Sons>
->Retour
->Volume
->0-1024 (par pas de 10)
->Tonalités>
->Retour
->Bip touches
->On/Off
->Erreur
->On/Off
->Batterie
->On/Off
->GPS>
->Retour
->Format GPS
->Decimal/DMS (degrés, minute, seconde)
->Température>
->Retour
->Mini/Maxi
->RAZ
->Format
->°C/°F
Je n'utilise qu'un encodeur rotatif avec son poussoir pour le déplacement, c'est pourquoi il y a une ligne retour à chaque début de menu.
Est-il possible de créer un menu aussi complexe avec ta structure de menu ?
ça donnerait ça :
//Menu
#define MENU_MODE 6
char *menu_strings[MENU_MODE] = { "Retour", "Normal", "Altimètre", "Thermomètre", "GPS+Alti", "Compteur" };
#define MENU_PARAM 6
char *menu_strings[MENU_PARAM] = { "Retour", "Heure/Date", "Affichage", "Sons", "GPS", "Température" };
#define MENU_AFFICHAGE 4
char *menu_strings[MENU_AFFICHAGE] = { "Retour", "Luminosité", "Contraste", "Rétroéclairage"};
#define MENU_SONS 3
char *menu_strings[MENU_SONS] = { "Retour", "Volume", "Tonalités"};
#define MENU_TONALITES 4
char *menu_strings[MENU_TONALITES] = { "Retour", "Bip Touches", "Erreur", "Batterie"};
#define MENU_GPS 2
char *menu_strings[MENU_GPS] = { "Retour", "Format"};
#define MENU_TEMPERATURE 3
char *menu_strings[MENU_TEMPERATURE] = { "Retour", "Mini/Maxi", "Format"};
int menu_current = 0;
Est-ce que les pages de "changement de valeur" (ex. : 00:00:00 00/00/0000) doivent aussi apparaitre dans le menu ?
edit : hé non je ne peux pas déclarer plusieurs menu_strings... quelque chose m'échappe dans la conception du menu.