Het gebruik van een Nokia kleur LCD! (8 / 11 stap)

Stap 8: menu's


Met rechthoeken en tekst neer, kunnen we beginnen met het maken van een echt nuttige dingen.  Menu's kunnen gebruikers kiezen uit een groot aantal opties met alleen een paar knoppen (omhoog, omlaag, en selecteer zijn gemeenschappelijk).  Om een menu die er goed uitziet, moet u goed uw scherm en de tekst opmaken.  Ik wilde een lijn van één titel en de rest om menu-items.  Het LCD-scherm is 130 x 130 (bruikbaar) pixels resolutie.  Dit betekent dat ik 130 verticale pixels te verdelen in menu lijnen.  Omdat mijn lettertype 8 pixels hoog, besloten heb ik dat met behulp van 10-pixel-hoge menu lijnen goed zou zijn.  Dit geeft een rand van 1 pixel rond de tekst op de boven- en onderkant, 13 totale menu lijnen (1 titel + 12 items), en maximaal 21 tekens per menuregel.

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.

Gerelateerde Artikelen

Het gebruik van een CNC-Router op Techshop om te bouwen van een eenvoudige 6 bestuur borst uit een blad kwartaal 2 * 4 voet van halve inch dik berken multiplex. Ik deed het op Techshop! Zei ik Techshop!

Het gebruik van een CNC-Router op Techshop om te bouwen van een eenvoudige 6 bestuur borst uit een blad kwartaal 2 * 4 voet van halve inch dik berken multiplex. Ik deed het op Techshop! Zei ik Techshop!

Het gebruik van een CNC-Router op te bouwen van een eenvoudige 6 bestuur borst uit een 2 * 4 voet kwartaal blad van ½ inch berken multiplex. Ik deed het op Techshop!Dit is mijn eerste Instructable dus neem gerust laat een opbouwende kritiek in de com
Het gebruik van een afwetriem

Het gebruik van een afwetriem

Elk van deze strops zijn gemaakt in de VS kunt u ze hier www.GarosGoods.comStap 1: Video over het gebruik van een afwetriemStap 2: Intro Ik wil graag is gelegenheid om te antwoorden op enkele veelgestelde vragen. U niet gewoon de aanschaf van een pro
Het gebruik van een Laser Cutter

Het gebruik van een Laser Cutter

de laser cutter is een van de meest nuttige tools in een moderne winkel. Laser scharen werk door de leiding van een zeer krachtige laserstraal, op een precieze brandpuntsafstand, op een materiaal dat ze knippen of etch, afhankelijk van hoe de laser c
Het gebruik van een Android emulator (ANDY)

Het gebruik van een Android emulator (ANDY)

Het gebruik van een Android emulator (ANDY)"IK BEN EEN ENORME CLASH OF CLANS FAN EN HEBBEN ALTIJD AL WILDE SPELEN OP MIJN 17? HOME COMPUTER". Sinds ik gedownload ANDY sindsdien waarschijnlijk speel ik Clash van Clans op de PC meer dan mijn telef
Het gebruik van een hout beitel

Het gebruik van een hout beitel

PopularMechanics.comVoor ieder type bouwer zijn er zeer weinig onmisbare tools. Voor de houtbewerkers is de beitel de eenvoudige en veelzijdige tool die je gewoon niet kan zonder leven.Hier zijn enkele basistechnieken op het optimaal benutten van de
Het gebruik van een bidet

Het gebruik van een bidet

kansen zijn, als je van naar een ander land reizen, zult u tegenkomen een Bidet. U kunt ook een in de Verenigde Staten, vooral op hogere einde hotelketens of zelfs op Bed & Breakfasts tegenkomen.Sommige landen zijn vooral bekend voor het feit dat bid
Het gebruik van een natte tegel zag to cut glazen flessen

Het gebruik van een natte tegel zag to cut glazen flessen

Gelieve gratie de minder dan stellaire foto's in dit Instructable.Het is jaren geleden toen ik had niets maar een goedkoop gemaaktdigitale camera. Ik hoop dat het snel bijwerken met veel betere beelden.Na de aankoop van vele gadgets en widgets te sni
Het gebruik van een Force Gevoelige Resistor - Arduino tutorial Arduino Tutorial

Het gebruik van een Force Gevoelige Resistor - Arduino tutorial Arduino Tutorial

In deze tutorial leert u hoe u een FSR - Force Gevoelige Resistor met Arduino te vervagen van een LED. Deze sensor is een variabele weerstand net als een fotocel of flex sensor. De wijzigingen van de weerstand door druk uit te oefenen op het.Laten we
Het gebruik van een naald meter voor het meten van uw breinaalden & Hooks!

Het gebruik van een naald meter voor het meten van uw breinaalden & Hooks!

U hebt breipennen of haak haken zonder maten gemarkeerd op hen? Zo ja, zullen dit kleine instrument uw beste vriend!Veel breinaalden, verwisselbare naalden, DPN, vintage naalden en haaknaalden zijn ongemarkeerd! Dit kan zeer frustrerend zijn wanneer
Het gebruik van een breadboard

Het gebruik van een breadboard

een breadboard ook bekend als protoboard is een soort solderless elektronische schakeling gebouw. U kunt een elektronische schakeling op een breadboard bouwen zonder enige solderen! Het beste van alles is het herbruikbaar. Het werd ontworpen door Ron
Stappen voor het gebruik van een bandzagen

Stappen voor het gebruik van een bandzagen

Ik heb onlangs een nieuwe bandzagen. Om te onthouden de stappen te doen vóór en na het gebruik ervan, maakte ik mezelf een beetje lijst als een vriendelijke herinnering. Ik vind dat het is handig om een checklist om ervoor te zorgen dat je niet verge
Het gebruik van een 3D Pen

Het gebruik van een 3D Pen

Ik ben geweest in 3D printen voor een paar jaar nu. Waardoor ze, hen, wijzigen met behulp van hen en wat komt tussen. Ik heb al het zien van 3D pennen in de markt meer en meer en altijd dacht dat ze soort van dom kleine dingen waren. Nou, ik heb eind
Het gebruik van een fabrikant geleverde Model in LTspice

Het gebruik van een fabrikant geleverde Model in LTspice

LTspice komt met eigen bibliotheken van modellen. Het is vrij uitgebreid en is niet verwonderlijk dat het bevat een grote hoeveelheid onderdelen van de lineaire technologieën (zoals het is een of andere manier "gesponsord" door LT). Het idee is
Het gebruik van een Airsoft pistool

Het gebruik van een Airsoft pistool

dit is een noob de gids over het gebruik van een Airsoft pistool. Het pistool die ik gebruik is een veerbelaste P226. Ik weet het is roze, en ik zal gewoon spray verf over die. Dit instructable ziet gewoon u hoe het te gebruiken rechts en oplossen.St