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

📄 menu.lst

📁 51单片机在lcd上实现zlg gui,希望好的请多加点分数
💻 LST
📖 第 1 页 / 共 2 页
字号:
              * 出口参数:返回0表示操作失败,返回1表示操作成功
              ****************************************************************************/
              uint8  GUI_SMenuHide(SMENU *men)
              {  WINDOWS  *mwin;
                 uint8    xx, yy;
              
                 mwin = men->win;
                 /* 判断是否可以显示主菜单 */
                 if( (mwin->hight)<50 ) return(0);
                 if( (mwin->with)<50 ) return(0);
                  
                 /* 画菜子单项。下拉子菜单,以向左下拉为原则,若右边溢出则以右下拉显示 */
                 xx = mwin->x;
                 xx +=  (men->mmenu_no)*MMENU_WIDTH;
                 yy = mwin->y + 22;
                 yy +=  (men->no) * 11 + 2;
C51 COMPILER V7.50   MENU                                                                  09/11/2007 21:56:46 PAGE 5   

                 if( (xx+SMENU_WIDTH) <= (mwin->x + mwin->with - 1) ) 
                 {  /* 以左下拉为原则显示子菜单 */
                    if( (men->mmenu_no) == 0 )
                    {  GUI_RectangleFill(xx+1, mwin->y + 22+1, xx+SMENU_WIDTH, yy, back_color);
                    }
                    else
                    {  GUI_RectangleFill(xx, mwin->y + 22+1, xx+SMENU_WIDTH, yy, back_color);
                    }
                    GUI_HLine(xx+1, mwin->y + 22, xx+MMENU_WIDTH-1, disp_color);
                 }
                 else
                 {  /* 以右下拉为原则 */
                    if( (xx+MMENU_WIDTH) == (mwin->x + mwin->with - 1) )
                    {  GUI_RectangleFill(xx-(SMENU_WIDTH-MMENU_WIDTH), mwin->y + 22+1, xx+MMENU_WIDTH-1, yy, back_color)
             -;
                    }
                    else
                    {  GUI_RectangleFill(xx-(SMENU_WIDTH-MMENU_WIDTH), mwin->y + 22+1, xx+MMENU_WIDTH, yy, back_color);
                    }
                    GUI_HLine(xx+1, mwin->y + 22, xx+MMENU_WIDTH-1, disp_color);
                 }
                  
                 return(1);
              }
              #endif
 265          
 266          
 267          
 268          
 269          #if  GUI_MenuIco_EN==1
              
              /*--  调入了一幅图像:C:\WINDOWS\Desktop\OK.bmp  --*/
              /*--  宽度x高度=49x14  --*/
              /*--  宽度不是8的倍数,现调整为:宽度x高度=56x14  --*/
              uint8  const  button_ok[] = 
              {
              0x07,0xFF,0xFF,0xFF,0xFF,0xF0,0x00,0x18,0x00,0x00,0x00,0x00,0x0C,0x00,0x20,0x00,
              0x00,0x00,0x00,0x02,0x00,0x40,0x00,0x0E,0x76,0x00,0x01,0x00,0x80,0x00,0x11,0x24,
              0x00,0x00,0x80,0x80,0x00,0x11,0x28,0x00,0x00,0x80,0x80,0x00,0x11,0x30,0x00,0x00,
              0x80,0x80,0x00,0x11,0x28,0x00,0x00,0x80,0x80,0x00,0x11,0x28,0x00,0x00,0x80,0x80,
              0x00,0x11,0x24,0x00,0x00,0x80,0x40,0x00,0x0E,0x76,0x00,0x01,0x00,0x20,0x00,0x00,
              0x00,0x00,0x02,0x00,0x18,0x00,0x00,0x00,0x00,0x0C,0x00,0x07,0xFF,0xFF,0xFF,0xFF,
              0xF0,0x00
              };
              
              
              
              /*--  调入了一幅图像:C:\WINDOWS\Desktop\OK1.bmp  --*/
              /*--  宽度x高度=49x14  --*/
              /*--  宽度不是8的倍数,现调整为:宽度x高度=56x14  --*/
              uint8  const  button_ok1[] = 
              {
              0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xFF,0xFF,0xFF,0xFF,0xF0,0x00,0x1F,0xFF,
              0xFF,0xFF,0xFF,0xFC,0x00,0x3F,0xFF,0xF1,0x89,0xFF,0xFE,0x00,0x7F,0xFF,0xEE,0xDB,
              0xFF,0xFF,0x00,0x7F,0xFF,0xEE,0xD7,0xFF,0xFF,0x00,0x7F,0xFF,0xEE,0xCF,0xFF,0xFF,
              0x00,0x7F,0xFF,0xEE,0xD7,0xFF,0xFF,0x00,0x7F,0xFF,0xEE,0xD7,0xFF,0xFF,0x00,0x7F,
              0xFF,0xEE,0xDB,0xFF,0xFF,0x00,0x3F,0xFF,0xF1,0x89,0xFF,0xFE,0x00,0x1F,0xFF,0xFF,
              0xFF,0xFF,0xFC,0x00,0x07,0xFF,0xFF,0xFF,0xFF,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,
              0x00,0x00
              };
              
              
C51 COMPILER V7.50   MENU                                                                  09/11/2007 21:56:46 PAGE 6   

              
              /*--  调入了一幅图像:C:\WINDOWS\Desktop\Cancle.bmp  --*/
              /*--  宽度x高度=49x14  --*/
              /*--  宽度不是8的倍数,现调整为:宽度x高度=56x14  --*/
              uint8  const  button_cancle[] =
              {
              0x07,0xFF,0xFF,0xFF,0xFF,0xF0,0x00,0x18,0x00,0x00,0x00,0x00,0x0C,0x00,0x20,0x00,
              0x00,0x00,0x00,0x02,0x00,0x40,0xF0,0x00,0x00,0x07,0x01,0x00,0x81,0x10,0x00,0x00,
              0x01,0x00,0x80,0x81,0x00,0x00,0x00,0x01,0x00,0x80,0x81,0x01,0x9E,0x1C,0x61,0x00,
              0x80,0x81,0x02,0x49,0x24,0x91,0x00,0x80,0x81,0x01,0xC9,0x20,0xF1,0x00,0x80,0x81,
              0x12,0x49,0x20,0x81,0x00,0x80,0x40,0xE1,0xFD,0x9C,0x77,0xC1,0x00,0x20,0x00,0x00,
              0x00,0x00,0x02,0x00,0x18,0x00,0x00,0x00,0x00,0x0C,0x00,0x07,0xFF,0xFF,0xFF,0xFF,
              0xF0,0x00
              };
              
              
              
              
              /*--  调入了一幅图像:C:\WINDOWS\Desktop\Cancle1.bmp  --*/
              /*--  宽度x高度=49x14  --*/
              /*--  宽度不是8的倍数,现调整为:宽度x高度=56x14  --*/
              uint8  const  button_cancle1[] =
              {
              0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xFF,0xFF,0xFF,0xFF,0xF0,0x00,0x1F,0xFF,
              0xFF,0xFF,0xFF,0xFC,0x00,0x3F,0x0F,0xFF,0xFF,0xF8,0xFE,0x00,0x7E,0xEF,0xFF,0xFF,
              0xFE,0xFF,0x00,0x7E,0xFF,0xFF,0xFF,0xFE,0xFF,0x00,0x7E,0xFE,0x61,0xE3,0x9E,0xFF,
              0x00,0x7E,0xFD,0xB6,0xDB,0x6E,0xFF,0x00,0x7E,0xFE,0x36,0xDF,0x0E,0xFF,0x00,0x7E,
              0xED,0xB6,0xDF,0x7E,0xFF,0x00,0x3F,0x1E,0x02,0x63,0x88,0x3E,0x00,0x1F,0xFF,0xFF,
              0xFF,0xFF,0xFC,0x00,0x07,0xFF,0xFF,0xFF,0xFF,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,
              0x00,0x00
              };
              
              
              
              
              /****************************************************************************
              * 名称:GUI_Button49x14()
              * 功能:显示49*14按钮。
              * 入口参数: x          指定显示位置,x坐标
              *           y           指定显示位置,y坐标
              *           dat         显示的数据地址
              * 出口参数:无
              ****************************************************************************/
              void  GUI_Button49x14(uint32 x, uint32 y, uint8 *dat)
              {  GUI_LoadPic(x, y, (uint8 *)dat, 49, 14);
              }
              
              
              
              /****************************************************************************
              * 名称:GUI_Button_OK()
              * 功能:显示49*14按钮"OK"。
              * 入口参数: x          指定显示位置,x坐标
              *           y           指定显示位置,y坐标
              * 出口参数:无
              ****************************************************************************/
              void  GUI_Button_OK(uint32 x, uint32 y)
              {  GUI_LoadPic(x, y, (uint8 *) button_ok, 49, 14);
              }
              
              
              /****************************************************************************
C51 COMPILER V7.50   MENU                                                                  09/11/2007 21:56:46 PAGE 7   

              * 名称:GUI_Button_OK1()
              * 功能:显示49*14按钮,选择状态的"OK"。
              * 入口参数: x          指定显示位置,x坐标
              *           y           指定显示位置,y坐标
              * 出口参数:无
              ****************************************************************************/
              void  GUI_Button_OK1(uint32 x, uint32 y)
              {  GUI_LoadPic(x, y, (uint8 *) button_ok1, 49, 14);
              }
              
              
              /****************************************************************************
              * 名称:GUI_Button_Cancle()
              * 功能:显示49*14按钮"Cancle"。
              * 入口参数: x          指定显示位置,x坐标
              *           y           指定显示位置,y坐标
              * 出口参数:无
              ****************************************************************************/
              void  GUI_Button_Cancle(uint32 x, uint32 y)
              {  GUI_LoadPic(x, y, (uint8 *) button_cancle, 49, 14);
              }
              
              
              /****************************************************************************
              * 名称:GUI_Button_Cancle1()
              * 功能:显示49*14按钮,选择状态的"Cancle"。
              * 入口参数: x          指定显示位置,x坐标
              *           y           指定显示位置,y坐标
              * 出口参数:无
              ****************************************************************************/
              void  GUI_Button_Cancle1(uint32 x, uint32 y)
              {  GUI_LoadPic(x, y, (uint8 *) button_cancle1, 49, 14);
              }
              
              
              
              /****************************************************************************
              * 名称:GUI_MenuIcoDraw()
              * 功能:显示图标菜单。
              * 入口参数:ico         图标菜单句柄
              * 出口参数:返回0表示操作失败,返回1表示操作成功
              ****************************************************************************/
              uint8  GUI_MenuIcoDraw(MENUICO *ico)
              {  
                 /* 参数过滤 */
                 if( ( (ico->x)<5 ) || ( (ico->x)>(GUI_LCM_XMAX-37 ) ) ) return(0);   // 显示起始地址判断
                 if( ( (ico->icodat)==NULL ) || ( (ico->title)==NULL ) ) return(0);   // 显示数据内容判断
                 
                 GUI_LoadPic(ico->x, ico->y, (uint8 *) ico->icodat, 32, 32);                  // 显示ICO图
                 GUI_HLine(ico->x-5, ico->y+32, ico->x+37, back_color);                               // 显示一空行
                 if( (ico->state)==0 )
                 {  GUI_LoadPic(ico->x-5, ico->y+33, (uint8 *) ico->title, 42, 13);
                 }
                 else
                 {  GUI_LoadPic1(ico->x-5, ico->y+33, (uint8 *) ico->title, 42, 13);
                 }
                 
                 return(1);
              }
              #endif
 424          
 425          
C51 COMPILER V7.50   MENU                                                                  09/11/2007 21:56:46 PAGE 8   

 426          
 427          
 428          
 429          
 430          
 431          
 432          
 433          
 434          
 435          
 436          
 437          
 438          
 439          
 440          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   ----    ----
   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 + -