menulanguage.c

来自「Atmega64单片机程序(完整工程)」· C语言 代码 · 共 99 行

C
99
字号
/******************************************************************************
 * 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 + =
减小字号Ctrl + -
显示快捷键?