我现在用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;
这个程序可以实现我想要的功能 但是程序太过繁琐 请高手指点指点 有没有什么方法能让程序变的简洁点
---------------------------------
非常感谢 我按照你的方法试验 成功了 代码量减小了不少.
一周热门 更多>