⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 menulanguage.lst

📁 一个占用内存极少的菜单系统的实现
💻 LST
字号:
C51 COMPILER V7.06   MENULANGUAGE                                                          04/16/2008 17:32:02 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE MENULANGUAGE
OBJECT MODULE PLACED IN .\Obj\MenuLanguage.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE Src\MenuLanguage.C LARGE BROWSE DEBUG OBJECTEXTEND PRINT(.\Lst\MenuLanguage
                    -.lst) OBJECT(.\Obj\MenuLanguage.obj)

stmt level    source

   1          /******************************************************************************
   2           * MenuLanguage.C - 语言切换模版
   3           *
   4           *
   5           * DESCRIPTION: -
   6           *
   7           * modification history
   8           * --------------------
   9           * 01a, 04/sep/2007, 梁炎昌 written
  10           * --------------------
  11           ******************************************************************************/
  12          #include "CPU.H"
  13          #include "Ks0108.H"
  14          #include "Menu.H"
  15          
  16          /*
  17          这里是语言切换界面,这里也演示了如何通过提前修改Item Where
  18          void DispMenuLanguageInit()函数中:
  19          -----------------------------
  20              if(Flash == FlashMode_ManualInit){//首次进入本层菜单,调整Item where
  21                  PUSH();
  22                  Item = language;
  23                  Where = Item;
  24              }
  25          -----------------------------
  26          
  27          */
  28          //语言
  29          //Bar型菜单
  30          void DispMenuLanguageInit()
  31          {
  32   1      //----------------------
  33   1          GUI_Clear();
  34   1      //--------------------
  35   1          //切换Bar显示内容
  36   1      //-----------------
  37   1          BarMenu = &MenuLanguage[language];
  38   1          ItemNum = (*BarMenu).TextNum;
  39   1          DispItem = (*BarMenu).Text;
  40   1      
  41   1          //用户的初始化代码请放在这里
  42   1          //显示父菜单名字
  43   1      
  44   1          //显示按键提示          2-->OK
  45   1      //    GUI_DispStringAt(Tip[language].Text+2*(Tip[language].TextLen),Enter_PosX,Enter_PosY);
  46   1          GUI_DispStringAtBar(*(Tip[language].Text+2),0,Enter_PosY,126,GUI_TA_HCENTER);
  47   1          if(Flash == FlashMode_ManualInit){//首次进入本层菜单,调整Item where
  48   2              PUSH();
  49   2              Item = language;
  50   2              Where = Item;
  51   2          }
  52   1          //公共初始化部分
  53   1          BarMenuInit();
  54   1      }
C51 COMPILER V7.06   MENULANGUAGE                                                          04/16/2008 17:32:02 PAGE 2   

  55          /*
  56          ************************************************************
  57          *   FIXME!
  58          *   这里是做语言切换的
  59          *   但是这会有一个有意思的问题:
  60          *   我们的菜单保存机制是备份过去的父菜单的Text等信息的,因此即便是更换了语言,
  61          *   这个保存的信息依然没有被更换,就是说,在这里切换语言后,显示的父索引还是没有变
  62          *   改正方法:
  63          *   通常语言切换的地方就一个路径而已,因此更换语言后正确修改保存的信息...
  64          ************************************************************
  65          */
  66          void DispMenuLanguageUp()
  67          {
  68   1      //-----------
  69   1          PUSH();//
  70   1      //-------------------
  71   1          GUI_Clear();
  72   1          if(Item==0){
  73   2              language = CN;
  74   2              GUI_Delay(10);
  75   2          }else if(Item==1){
  76   2              language = EN;
  77   2              GUI_Delay(10);
  78   2          }
  79   1          GUI_Clear();
  80   1      //-------------------
  81   1          POP();
  82   1      //-------------------
  83   1      
  84   1      }
  85          void DispMenuLanguageDown()
  86          {
  87   1          POP();
  88   1      }
  89          void DispMenuLanguageLeft()
  90          {
  91   1          BarMenuLeft();
  92   1      }
  93          void DispMenuLanguageRight()
  94          {
  95   1          BarMenuRight();
  96   1      }
  97          
  98          
  99          
 100          
 101          
 102          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    191    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -