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

📄 keymenu.cpp

📁 湖北水文黄石试点集中器代码
💻 CPP
字号:
#include <stdio.h>
#include <conio.h>
#include <dos.h>
#include <string.h>
#include <stdlib.h>
#include "keypass.h"
#include "lcd_api.h"
#include "keymenu.h"
#include "menu.h"
#include "keyscan.h"


char  PasswordBuff[10];
int SysExitState = 0;


int KeyPadMenuInit(  )
{
	  int status;
	  
	  InitKeyPad( );
	  
    status = MENUManager.SysMenuInit( );
    if( status < 0 ) return status;	 

    /* initialize graphics mode */
    LCD_Init( "mlib.chr", "ascii.chr" );
    LCD_SetMode( 1 );     // set to XOR mode     	
    
    return 1;
} 

KEY GetKey()
{
   int KeyCode;
   KEY ReturnCode;

   KeyCode = ReturnKeyCode( );
   
   if(KeyCode==-1) return _NOP;

   switch( KeyCode )
   {
      // 'Menu'
      case 0x000f:  ReturnCode=_Menu;		break;       
      // '+'
      case 0x0118:  ReturnCode=_Up;		break;
      // '-'
      case 0x0119:	ReturnCode=_Down;		break;
      // '->'
      case 0x011a:  ReturnCode=_Right;		break;      	
      // '<-'
      case 0x011b:	ReturnCode=_Left;		break;      	      	      
      // 'Esc'
      case 0x0211:	ReturnCode=_Return;  break;
      //'DEL'
      case 0x0312:	ReturnCode=_Cancel;   break;    	
      //'Enter'
      case 0x1c0d:	ReturnCode=_Enter;		break;      
      //'*'
      case 0x0c2e:	ReturnCode=_KeyStar;		break;
      //'#'
      case 0x0b20:	ReturnCode=_KeyWell;		break;
      //'.'
      case 0x0c2a:	ReturnCode=_KeyDot;		break;      
      //' '
      case 0x0b23:	ReturnCode=_KeySpace;		break;       
    
      case 0x0b30:	ReturnCode=_Key0;   break;
       	
      case 0x0231:	ReturnCode=_Key1;   break;
      	
      case 0x0332:	ReturnCode=_Key2;   break;
      
      case 0x0433:  ReturnCode=_Key3;  break;
      
      case 0x0534:  ReturnCode=_Key4;  break;
      
      case 0x0635:  ReturnCode=_Key5;  break;
      
      case 0x0736:  ReturnCode=_Key6;  break;
      
      case 0x0837:  ReturnCode=_Key7;  break;     	     	      	     	
      
      case 0x0938:  ReturnCode=_Key8;  break;      		
      	
      case 0x0a39:  ReturnCode=_Key9;  break;


      case 0x0341:  ReturnCode=_KeyA;  break;      	
      	
      case 0x0342:  ReturnCode=_KeyB;  break;    	

      case 0x0343:  ReturnCode=_KeyC;  break; 

      case 0x0444:  ReturnCode=_KeyD;  break; 

      case 0x0445:  ReturnCode=_KeyE;  break; 

      case 0x0446:  ReturnCode=_KeyF;  break;  
      	   
      case 0x0547:  ReturnCode=_KeyG;  break;       	

      case 0x0548:  ReturnCode=_KeyH;  break;      	
      	
      case 0x0549:  ReturnCode=_KeyI;  break;  

      case 0x064A:  ReturnCode=_KeyJ;  break;      	    	
      	
      case 0x064B:  ReturnCode=_KeyK;  break;   

      case 0x064C:  ReturnCode=_KeyL;  break;   

      case 0x074D:  ReturnCode=_KeyM;  break;      	

      case 0x074E:  ReturnCode=_KeyN;  break;

      case 0x074F:  ReturnCode=_KeyO;  break;      	      	   	   	  	

      case 0x0850:  ReturnCode=_KeyP;  break;

      case 0x0851:  ReturnCode=_KeyQ;  break;

      case 0x0852:  ReturnCode=_KeyR;  break;

      case 0x0853:  ReturnCode=_KeyS;  break;      	      	

      case 0x0954:  ReturnCode=_KeyT;  break;

      case 0x0955:  ReturnCode=_KeyU;  break;

      case 0x0956:  ReturnCode=_KeyV;  break;     
      	
      case 0x0a57:  ReturnCode=_KeyW;  break; 

      case 0x0a58:  ReturnCode=_KeyX;  break;

      case 0x0a59:  ReturnCode=_KeyY;  break;

      case 0x0a5a:  ReturnCode=_KeyZ;  break;      	      	      	     	 	

      default:		ReturnCode=_NOP;		break;
   }

   return ReturnCode;
}



KPState GetKPState=SHOW;	  

int KeyPadOperation( )
{  	 
   KEY key;

   GetKPState=KeyPass( );
   	    	  
   if(GetKPState!=MENU) return 0;       /////////////////////???
   	   	
   key = GetKey( );
      	
   switch( key )
	 {
	 case _Menu:
	 	    MENUManager.ShowMenu( 0 );
	 	    break;
	 
	 case _Up:
	      MENUManager.MenuItemBarUp( );
	      break;
	 case _Down:
	      MENUManager.MenuItemBarDn( );
	      break;
	 case _Left:
	      MENUManager.MenuItemInc( );
	      break;
	 case _Right:
	      MENUManager.MenuItemDec( );
	      break;
	 case _Return:
	      MENUManager.AbnormalPro( );
	      break;	      
	 case _Cancel:
	      MENUManager.DeleteInputData( );
	      break;	      
	 case _Enter:
	      MENUManager.MenuDrivedManualPro( );
	      break;      
	      
	 /*case _Add:
	      MENUManager.MenuItemINC( );
	      break;
	 case _Minus:
	      MENUManager.MenuItemDEC( );
	      break;*/
	      
	 case _Key0:
	 	    MENUManager.GetInputData( '0', MulKeyFlg );
	 	    break;
	 	    
	 case _Key1:
	 	    MENUManager.GetInputData( '1', MulKeyFlg );
	 	    break;
	 	    
	 case _Key2:
	 	    MENUManager.GetInputData( '2', MulKeyFlg  );
	 	    break;
	 	    
	 case _Key3:
	 	    MENUManager.GetInputData( '3', MulKeyFlg  ); 	
	 	    break;
	 	        		 	    	
	 case _Key4:
	 	    MENUManager.GetInputData( '4', MulKeyFlg  );
	 	    break;
	 	    
	 case _Key5:
	 	    MENUManager.GetInputData( '5', MulKeyFlg  );
	 	    break;
	 	    
	 case _Key6:
	 	    MENUManager.GetInputData( '6', MulKeyFlg  );
	 	    break;
	 	    
	 case _Key7:
	 	    MENUManager.GetInputData( '7', MulKeyFlg  ); 
	 	    break;
	 	     	 
	 case _Key8:
	 	    MENUManager.GetInputData( '8', MulKeyFlg  );  
	 	    break;
	 	    
	 case _Key9:
	 	    MENUManager.GetInputData( '9', MulKeyFlg  ); 	
	 	    break; 	    	

	 case _KeyA:
	 	    MENUManager.GetInputData( 'A', MulKeyFlg  ); 
	 	    break;
	 	     	 
	 case _KeyB:
	 	    MENUManager.GetInputData( 'B', MulKeyFlg  );  
	 	    break;
	 	    
	 case _KeyC:
	 	    MENUManager.GetInputData( 'C', MulKeyFlg  ); 	
	 	    break;	 	  

	 case _KeyD:
	 	    MENUManager.GetInputData( 'D', MulKeyFlg  ); 
	 	    break;
	 	     	 
	 case _KeyE:
	 	    MENUManager.GetInputData( 'E', MulKeyFlg  );  
	 	    break;
	 	    
	 case _KeyF:
	 	    MENUManager.GetInputData( 'F', MulKeyFlg  ); 	
	 	    break;	 	    

	 case _KeyG:
	 	    MENUManager.GetInputData( 'G', MulKeyFlg  ); 
	 	    break;
	 	     	 
	 case _KeyH:
	 	    MENUManager.GetInputData( 'H', MulKeyFlg  );  
	 	    break;
	 	    
	 case _KeyI:
	 	    MENUManager.GetInputData( 'I', MulKeyFlg  ); 	
	 	    break;	 	  

	 case _KeyJ:
	 	    MENUManager.GetInputData( 'J', MulKeyFlg  ); 
	 	    break;
	 	     	 
	 case _KeyK:
	 	    MENUManager.GetInputData( 'K', MulKeyFlg  );  
	 	    break;
	 	    
	 case _KeyL:
	 	    MENUManager.GetInputData( 'L', MulKeyFlg  ); 	
	 	    break;	 	 
	 	    	 	    
	 case _KeyM:
	 	    MENUManager.GetInputData( 'M', MulKeyFlg  );  
	 	    break;
	 	    
	 case _KeyN:
	 	    MENUManager.GetInputData( 'N', MulKeyFlg  ); 	
	 	    break;	 	  

	 case _KeyO:
	 	    MENUManager.GetInputData( 'O', MulKeyFlg  ); 
	 	    break;
	 	     	 
	 case _KeyP:
	 	    MENUManager.GetInputData( 'P', MulKeyFlg  );  
	 	    break;
	 	    
	 case _KeyQ:
	 	    MENUManager.GetInputData( 'Q', MulKeyFlg  ); 	
	 	    break;	 	    

	 case _KeyR:
	 	    MENUManager.GetInputData( 'R', MulKeyFlg  );  
	 	    break;
	 	    
	 case _KeyS:
	 	    MENUManager.GetInputData( 'S', MulKeyFlg  ); 	
	 	    break;	 	  

	 case _KeyT:
	 	    MENUManager.GetInputData( 'T', MulKeyFlg  ); 
	 	    break;
	 	     	 
	 case _KeyU:
	 	    MENUManager.GetInputData( 'U', MulKeyFlg  );  
	 	    break;
	 	    
	 case _KeyV:
	 	    MENUManager.GetInputData( 'V', MulKeyFlg  ); 	
	 	    break;	 	    

	 case _KeyW:
	 	    MENUManager.GetInputData( 'W', MulKeyFlg  ); 	
	 	    break;	 	  

	 case _KeyX:
	 	    MENUManager.GetInputData( 'X', MulKeyFlg  ); 
	 	    break;
	 	     	 
	 case _KeyY:
	 	    MENUManager.GetInputData( 'Y', MulKeyFlg  );  
	 	    break;
	 	    
	 case _KeyZ:
	 	    MENUManager.GetInputData( 'Z', MulKeyFlg  ); 	
	 	    break;	 	     
	 	    
	 case  _KeyStar:
	 	    MENUManager.GetInputData( '*', MulKeyFlg  ); 	
	 	    break;	 	        

	 case  _KeyDot:
	 	    MENUManager.GetInputData( '.', MulKeyFlg  ); 	
	 	    break;	 

	 case  _KeyWell:
	 	    MENUManager.GetInputData( '#', MulKeyFlg  ); 	
	 	    break;	 	    

	 case  _KeySpace:
	 	    MENUManager.GetInputData( ' ', MulKeyFlg  ); 	
	 	    break;	 	   
	 	    
	 	default: break;
	 		 	        		 	    	   	
	 }
   
   if(key==_Enter) return 1;
   else return 0;
}


⌨️ 快捷键说明

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