Étape 8: Menus
Pour rendre le système de menus plus portable, j’ai construit ses fonctionnalités dans une seule fonction qui prend une poignée d’arguments. Cette fonction va dessiner le menu et permettent à l’utilisateur de sélectionner une option. La fonction retourne l’index de l’option sélectionnée. Pour rendre le code réutilisable, tout texte de menu est chargé à partir d’un tableau.
C’est le prototype de la fonction :
print_menu char (char menu_text [] [22], char menu_length, char starting_position, int title_color, int title_bgcolor, int entry_color, int entry_bgcolor, int highlight_color, int highlight_bgcolor) ;
menu_text - un tableau de caractères X-par-22. Chaque ligne est une ligne de menu (la première ligne est le titre).
menu_length - le nombre de lignes dans le tableau, non compris la ligne de titre
starting_position - l’index de l’entrée pour démarrer sur (le premier indice est 1 comme la ligne de titre est techniquement index 0 mais ne peut pas être sélectionnée)
title_color - la couleur de texte du titre
title_bgcolor - la couleur de fond du titre
entry_color - la couleur de texte d’entrée
entry_bgcolor - la couleur de fond d’entrée
highlight_color - la couleur du texte en surbrillance entrée
highlight_bgcolor - la couleur d’arrière-plan entrée en surbrillance
Remarque : Toutes les couleurs sont des valeurs 16 bits au format 0x0RGB
Le code réel n’est pas validé parce que c’est long, il est inclus par téléchargement à la fin de ce Instructable.