Stap 8: menu's
Zodat het menusysteem draagbaarder, ik de functionaliteit in een enkele functie waarin een handvol argumenten ingebouwd. Deze functie zal het menu tekenen en kan de gebruiker een optie te selecteren. De functie retourneert de index van de geselecteerde optie. Om de code opnieuw te gebruiken, wordt alle menutekst geladen uit een matrix.
Dit is het prototype van de functie:
char print_menu (char menu_text [] [22], char menu_length starting_position char, int title_color, int title_bgcolor, int entry_color, int entry_bgcolor, int highlight_color, int highlight_bgcolor);
menu_text - een X-door-22 karakter array. Elke rij is één menuregel (de eerste regel is de titel).
menu_length - het aantal regels in de matrix, niet met inbegrip van de titel-lijn
starting_position - de index van het item om op te starten (de eerste index is 1 als de regel van de titel technisch index 0 is maar kan niet worden geselecteerd)
title_color - de tekstkleur van de titel
title_bgcolor - de titel achtergrondkleur
entry_color - de kleur van de tekst van de vermelding
entry_bgcolor - de kleur van de achtergrond van het bericht
highlight_color - de kleur van de tekst van het gemarkeerde onderdeel
highlight_bgcolor - de kleur van de achtergrond van het gemarkeerde onderdeel
Opmerking: Alle kleuren zijn 16-bits waarden in 0x0RGB-indeling
De eigenlijke code nog niet is bijgeboekt omdat het lang, het is opgenomen om te downloaden aan het eind van dit Instructable.