TFTLCD显示菜单问题

2019-08-22 16:13发布

我现在用TFTLCD显示一个菜单 通过按键控制菜单选项(被选中的项反白显示)  按键按一下 则选中菜单下一项 (也就是对应菜单下一行反白) 
现在 通过下面的方法实现了 不过我感觉这样写程序太过冗长 请问高手有没有什么好的解决方案:
/*******显示程序如下**********/
 switch(Key1_Value)
 { case 1: //第一次按下按键
  {  BackColor=BLUE;  //字体的背景颜 {MOD}
   LCD_Show_Word32(0,10+47,"通道参数设置",6);  //背景延时为蓝 {MOD}
    BackColor=GREEN;
   LCD_Show_Word32(0,10+47*2,"记录参数设置",6); //其他选项背景颜 {MOD}正常(为绿 {MOD})
   LCD_Show_Word32(0,10+47*3,"日期时间设置",6); 
   LCD_Show_Word32(0,10+47*4,"基本参数设置",6);
   LCD_Show_Word32(255,10+47*4,"退出",2);
  }break;
  case 2:   //第二次按下按键
  { LCD_Show_Word32(0,10+47,"通道参数设置",6);   //第一行恢复正常
   BackColor=BLUE;
   LCD_Show_Word32(0,10+47*2,"记录参数设置",6);  //第二行背影颜 {MOD}为蓝 {MOD}
   BackColor=GREEN;
   LCD_Show_Word32(0,10+47*3,"日期时间设置",6); 
   LCD_Show_Word32(0,10+47*4,"基本参数设置",6);
   LCD_Show_Word32(255,10+47*4,"退出",2);
  }break;
  case 3:
  {   LCD_Show_Word32(0,10+47,"通道参数设置",6);
   LCD_Show_Word32(0,10+47*2,"记录参数设置",6);
   BackColor=BLUE;
   LCD_Show_Word32(0,10+47*3,"日期时间设置",6);//第三行背景延时是蓝 {MOD} 
   BackColor=GREEN; 
   LCD_Show_Word32(0,10+47*4,"基本参数设置",6);
   LCD_Show_Word32(255,10+47*4,"退出",2);
  }
  break;
  case 4:
  {  LCD_Show_Word32(0,10+47,"通道参数设置",6);
   LCD_Show_Word32(0,10+47*2,"记录参数设置",6);
   LCD_Show_Word32(0,10+47*3,"日期时间设置",6);
   BackColor=BLUE;  
   LCD_Show_Word32(0,10+47*4,"基本参数设置",6);
   BackColor=GREEN;
   LCD_Show_Word32(255,10+47*4,"退出",2);
  }break;
  case 5:
  { LCD_Show_Word32(0,10+47,"通道参数设置",6);
   LCD_Show_Word32(0,10+47*2,"记录参数设置",6);
   LCD_Show_Word32(0,10+47*3,"日期时间设置",6); 
   LCD_Show_Word32(0,10+47*4,"基本参数设置",6);
   BackColor=BLUE;
   LCD_Show_Word32(255,10+47*4,"退出",2);
   BackColor=GREEN;
  }break;
  default :break; 


这个程序可以实现我想要的功能 但是程序太过繁琐 请高手指点指点 有没有什么方法能让程序变的简洁点
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。