GLCD Menue-Erstellung Logikprobleme

Hallo,

Ich habe ein paar Probleme ein Menü für ein Grafikdisplay zu schreiben.
Man soll das Programm auswählen können und somit in das Untermenü des ausgewählten Punktes kommen.
Das Programm sieht wie folgt aus, jedoch das Untermenü ist noch nicht eingebaut.
Kann man das Untermenü durch Cases lösen?

GLCD.CursorTo(0, 0);
  GLCD.print(".......MENUE......");
  GLCD.CursorTo(2, 1);
  GLCD.print("Programm 1");
  GLCD.CursorTo(2, 2);
  GLCD.print("Programm 2");
  GLCD.CursorTo(2, 3);
  GLCD.print("Settings");
  GLCD.DrawBitmap(heart, 3, y, BLACK);   // y bewegt den sichtbaren courser beim klicken des button1
  GLCD.CursorTo(14, 1);
  GLCD.print("y= ");
  GLCD.PrintNumber(y);
  
  
  buttonState = digitalRead(button1);
  
if (buttonState != lastButtonState) {
    // increment zähler
    if (buttonState == HIGH) {
      GLCD.ClearScreen();
      y= y + 8;
    } 
    else {
    }
  }
  
  lastButtonState = buttonState;
  
  if (y > 23){  //damit der Courser nicht weiter als den Programmpunkt 3 "Settings" kommt und wieder oben anfängt
    y= 7;
  }

ja :wink:
ich würde es so machen.