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; 


这个程序可以实现我想要的功能 但是程序太过繁琐 请高手指点指点 有没有什么方法能让程序变的简洁点
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
15条回答
wyudcl
1楼-- · 2019-08-22 16:29
楼主辛苦了。谢谢分享,做菜单不用GUI吗?
SevenFly
2楼-- · 2019-08-22 16:57
将LCD_Show_Word32 函数添加一个参数  表示正显或反显,将一屏幕要显示数据封装进一个刷页函数, 每次只需要调用该函数(包含反显行参数),即可实现代码简化, 要更改菜单也容易实现
SevenFly
3楼-- · 2019-08-22 20:27
将LCD_Show_Word32 函数添加一个参数  表示正显或反显,将一屏幕要显示数据封装进一个刷页函数, 每次只需要调用该函数(包含反显行参数),即可实现代码简化, 要更改菜单也容易修改
langwanglx
4楼-- · 2019-08-22 22:05
回复【3楼】SevenFly:
---------------------------------
非常感谢 我按照你的方法试验 成功了 代码量减小了不少.
SevenFly
5楼-- · 2019-08-23 03:10
 精彩回答 2  元偷偷看……
Lsoxi2013
6楼-- · 2019-08-23 05:14
回复【楼主位】langwanglx:
---------------------------------
LCD_Show_Word32这个函数在哪里,,最近也在研究这个功能

一周热门 更多>