Hur du använder en Nokia färg LCD! (8 / 11 steg)
Steg 8: menyer
För att göra menysystemet mer portabel, byggde jag sin funktionalitet i en funktion som tar en handfull av argument. Denna funktion kommer att dra på-menyn och tillåta användaren att välja ett alternativ. Funktionen returnerar index för det valda alternativet. För att göra koden återanvändbara, läses alla menyn text från en matris.
Detta är funktionen prototypen:
char print_menu (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 - en X-av-22 karaktär matris. Varje rad är en meny rad (första raden är titeln).
menu_length - antalet rader i matrisen, exklusive titel linjen
starting_position - index för posten att starta på (den första indexet är 1 som raden titel är tekniskt index 0 men inte kan väljas)
title_color - titel textfärg
title_bgcolor - titeln bakgrundsfärg
entry_color - posten textfärg
entry_bgcolor - posten bakgrundsfärg
highlight_color - den markerade post textfärgen
highlight_bgcolor - den markerade post bakgrundsfärgen
Obs: Alla färger är 16-bitars värden i 0x0RGB format
Den faktiska koden bokförs inte eftersom det är lång, den ingår för nedladdning i slutet av detta Instructable.