📄 menulanguage.c
字号:
/******************************************************************************
* MenuLanguage.C - 语言切换模版
******************************************************************************/
#include "SYS_Config.h"
#include "GUI_Config.h"
#include "GUI.H"
#include "Menu.H"
/*
这里是语言切换界面,这里也演示了如何通过提前修改Item Where
void DispMenuLanguageInit()函数中:
-----------------------------
if(Flash == FlashMode_ManualInit){//首次进入本层菜单,调整Item where
PUSH();
Item = language;
Where = Item;
}
-----------------------------
*/
//语言
//Bar型菜单
void DispMenuLanguageInit()
{
//----------------------
GUI_Clear();
//--------------------
//切换Bar显示内容
//-----------------
BarMenu = &MenuLanguage[language];
ItemNum = (*BarMenu).TextNum;
DispItem = (*BarMenu).Text;
//用户的初始化代码请放在这里
//显示父菜单名字
//显示按键对应的文字提示,1-->"选择"
GUI_DispStringAt(*(Tip[language].Text+1),1,LCD_YSIZE-14);
//显示按键对应的文字提示,0-->"退出"
GUI_DispStringAt(*(Tip[language].Text+4),LCD_XSIZE-24,LCD_YSIZE-14);
if(Flash == FlashMode_ManualInit)
{//首次进入本层菜单,调整Item where
PUSH();
Item = language;
Where = Item;
}
//公共初始化部分
BarMenuInit();
}
/*
************************************************************
* FIXME!
* 这里是做语言切换的
* 但是这会有一个有意思的问题:
* 我们的菜单保存机制是备份过去的父菜单的Text等信息的,因此即便是更换了语言,
* 这个保存的信息依然没有被更换,就是说,在这里切换语言后,显示的父索引还是没有变
* 改正方法:
* 通常语言切换的地方就一个路径而已,因此更换语言后正确修改保存的信息...
************************************************************
*/
void DispMenuLanguageUp()
{
//-----------
PUSH();
//-------------------
GUI_Clear();
if(Item==0)
language = CH;
else if(Item==1)
language = EN;
GUI_Delay(10);
GUI_Clear();
//-------------------
POP();
//-------------------
}
void DispMenuLanguageDown()
{
POP();
}
void DispMenuLanguageLeft()
{
BarMenuLeft();
}
void DispMenuLanguageRight()
{
BarMenuRight();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -