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

📄 menu.h

📁 湖北水文黄石试点集中器代码
💻 H
字号:
#if      !defined(_MENU34_H)
#define  _MENU34_H

#include "item.h"
//#include "dot_lcd.h"

#define MaxMenuItem	34

class Menu
{
   int   X, Y;			// menu leftup position
   int   XSize;
   int   TxtColor;		// screen text color

   int   ActTxtColor;		// screen text color for active item
   int   ActBkColor;		// screen background color for active item

protected:
   int   BkColor;		// screen background color

   int   ItemX( int ItemIdx );
   int   ItemY( int ItemIdx );


   int    NumItem;			// <= MaxMenuItem
   Item*  pItemTab[MaxMenuItem];	// a list of current all items
   int    ActItemIdx;			// 0 <= ActItemIdx < NumItem

   int    MenuFormat;                  // 0:  2 row  1: 1 row
   int    ScreenItem;
   int    StartItem;
   int    NewCnt;
   int    OldCnt;

   void   ShowAsActive( int ItemIdx );
   void   ShowAsNormal( int ItemIdx );
   void   PutOnScreen( );

   int    AddItem( Item* NewItemPtr=NULL );	// return number of items
   void   ShowOperInfo( char *StrBuf );

public:
   Menu( );
   void MenuItemBarUp( );
   void MenuItemBarDn( );
   void MenuItemInc( );
   void MenuItemDec( );
   void MenuItemINC( );
   void MenuItemDEC( );
   void Hide( );
   void Show( );
   void SetMenuFormat( int i );
   virtual void VarItemInit( ) { };
   virtual int  ManualPro( ) { return 0; }
   virtual void AbnormalPro( ) { };
   //////////////////////////////////
   //add by wuhuan 2006.6.23
   virtual void GetInputData( char abyte,char mulkeyflg ) {  };
   virtual void DeleteInputData( ) { };
};

class MainMenu: public Menu
{
   Item    Menu1;
   Item    Menu2;
   Item    Menu3;
   Item    Menu4;
   Item    Menu5;
   Item    Menu6;
   Item    Menu7;
   Item    Menu8;

public:
   MainMenu( );
   void VarItemInit( );
   int  ManualPro( );
   void AbnormalPro( );

   //////////////add by wuhuan 2006.6.23  
   //void GetInputData( char abyte );

};

/////////////////////////////////////
class Menu1: public Menu
{
   Item    Menu1_1;
   Item    Menu1_2;
   
public:
   Menu1( );
   void VarItemInit( );
   int  ManualPro( );
   void AbnormalPro( );  
      
};

class Menu1_1: public Menu
{
   Item_s    Item1_1;

public:
   Menu1_1( );
   void VarItemInit( );
   int  ManualPro( );
   void AbnormalPro( );
   void GetInputData( char abyte, char mulkeyflg );
   void DeleteInputData( );   
      
};

class Menu1_2: public Menu
{
   Item_s    Item1_2;

public:
   Menu1_2( );
   void VarItemInit( );
   int  ManualPro( );
   void AbnormalPro( );
   void GetInputData( char abyte, char mulkeyflg );
   void DeleteInputData( );   
      
};
///////////////////////////////////////
//////////////add by wuhuan 2006.6.22
class Menu2: public Menu
{
   Item    Menu2_1;
   Item    Menu2_2;
   Item    Menu2_3;
   Item    Menu2_4;
   Item    Menu2_5;   
   Item    Menu2_6;
   Item    Menu2_7;
   Item    Menu2_8;
////////////////////////

public:
   Menu2( );
   void VarItemInit( );
   int  ManualPro( );
   void AbnormalPro( );
   //////////////add by wuhuan 2006.6.23  
  //void GetInputData( char abyte );
      
};

class Menu2_1: public Menu
{
   Item_s    Item2_1_1;

public:
   Menu2_1( );
   void VarItemInit( );
   int  ManualPro( );
   void AbnormalPro( );
   void GetInputData( char abyte, char mulkeyflg ); //add by wuhuan 2006.6.23   
   void DeleteInputData( );
};

class Menu2_2: public Menu
{
   Item_s    Item2_2_1;

public:
   Menu2_2( );
   void VarItemInit( );
   int  ManualPro( );
   void AbnormalPro( );
   void GetInputData( char abyte, char mulkeyflg ); //add by wuhuan 2006.6.23
   void DeleteInputData( );
};

class Menu2_3: public Menu
{
   Item_s    Item2_3_1;

public:
   Menu2_3( );
   void VarItemInit( );
   int  ManualPro( );
   void AbnormalPro( );
   void GetInputData( char abyte, char mulkeyflg ); //add by wuhuan 2006.6.23
   void DeleteInputData( );
};

class Menu2_4: public Menu
{
   Item_s    Item2_4_1;

public:
   Menu2_4( );
   void VarItemInit( );
   int  ManualPro( );
   void AbnormalPro( );
   void GetInputData( char abyte, char mulkeyflg ); //add by wuhuan 2006.6.23
   void DeleteInputData( );
};

class Menu2_5: public Menu
{
   Item    Item2_5_1;
   Item    Item2_5_2;

public:
   Menu2_5( );
   void VarItemInit( );
   int  ManualPro( );
   void AbnormalPro( );
   //////////////add by wuhuan 2006.6.23  
  /* void GetInputData( char abyte );  */ 
};

class Menu2_6: public Menu
{
   Item_s    Item2_6_1;

public:
   Menu2_6( );
   void VarItemInit( );
   int  ManualPro( );
   void AbnormalPro( );
   void GetInputData( char abyte, char mulkeyflg ); //add by wuhuan 2006.6.23
   void DeleteInputData( );
};

///////////////////////////////////////////add by wuhuan 2006.8.13
class Menu2_7: public Menu
{
   Item_s    Item2_7_1;

public:
   Menu2_7( );
   void VarItemInit( );
   int  ManualPro( );
   void AbnormalPro( );
   void GetInputData( char abyte, char mulkeyflg ); 
   void DeleteInputData( );
};

class Menu2_8: public Menu
{
   Item_s    Item2_8_1;

public:
   Menu2_8( );
   void VarItemInit( );
   int  ManualPro( );
   void AbnormalPro( );
   void GetInputData( char abyte, char mulkeyflg ); //add by wuhuan 2006.6.23
   void DeleteInputData( );
};


class Menu5: public Menu
{
   Item    Menu5_1;
   Item    Menu5_2;
   Item    Menu5_3;
   Item    Menu5_4;   
////////////////////////add by wuhuan 2006.7.12

public:
   Menu5( );
   void VarItemInit( );
   int  ManualPro( );
   void AbnormalPro( );
      
};

class Menu5_3: public Menu
{
   Item_s    Item5_3;

public:
   Menu5_3( );
   void VarItemInit( );
   int  ManualPro( );
   void AbnormalPro( );
   void GetInputData( char abyte, char mulkeyflg ); //add by wuhuan 2006.6.23
   void DeleteInputData( );
};

class Menu5_4: public Menu
{
   Item_s    Item5_4;

public:
   Menu5_4( );
   void VarItemInit( );
   int  ManualPro( );
   void AbnormalPro( );
   void GetInputData( char abyte, char mulkeyflg ); //add by wuhuan 2006.6.23
   void DeleteInputData( );
};

class Menu7: public Menu
{
   Item_s    Item7;
////////////////////////

public:
   Menu7( );
   void VarItemInit( );
   int  ManualPro( );
   void AbnormalPro( );
   void GetInputData( char abyte, char mulkeyflg );
   void DeleteInputData( );   
      
};

class Menu7_1: public Menu
{
   Item_s    Item7_1;
////////////////////////

public:
   Menu7_1( );
   void VarItemInit( );
   int  ManualPro( );
   void AbnormalPro( );
   void GetInputData( char abyte, char mulkeyflg ); 
   void DeleteInputData( );   
      
};


class MenuManager
{
 
   int X, Y;				// menu bar position

   int NumMenu;
   Menu* pMenuTab[20];
   int AutoProIdx;
   int ActMenuIdx;

     MainMenu*        EtrMenu;
   
   Menu1*             EtrMenu1; 
   Menu1_1*           EtrMenu1_1;  
   Menu1_2*           EtrMenu1_2;    
   
   ///////////////////
   //add by wuhuan 2006.6.22
   Menu2*             EtrMenu2;
   Menu2_1*           EtrMenu2_1;
   Menu2_2*           EtrMenu2_2;
   Menu2_3*           EtrMenu2_3;
   Menu2_4*           EtrMenu2_4;
   Menu2_5*           EtrMenu2_5;        
   Menu2_6*           EtrMenu2_6;
   
//////////////////////////////////////////add by wuhuan 2006.8.13
   Menu2_7*           EtrMenu2_7;        
   Menu2_8*           EtrMenu2_8;
//////////////////////////////////////////
            
   Menu5*             EtrMenu5;
   Menu5_3*           EtrMenu5_3;
   Menu5_4*           EtrMenu5_4;   
      
   Menu7*             EtrMenu7;
   Menu7_1*           EtrMenu7_1;
   
   
public:
   MenuManager( );
   ~MenuManager( );

   int  SysMenuInit( );
   int  AddMenu( Menu* AppMenu );
   void HideMenu( );
   void ShowMenu( int MenuIdx=-1 );
   void MenuItemBarUp( );
   void MenuItemBarDn( );
   void MenuItemInc( );
   void MenuItemDec( );
   void MenuItemINC( );
   void MenuItemDEC( );
   void MenuDrivedManualPro( );
   void AbnormalPro( );
   ///////////////////////////
   //add by wuhuan 2006.06.23
   void GetInputData( char abyte, char mulkeyflg );
   void DeleteInputData( );
};

extern MenuManager MENUManager;
extern Menu UserMenu[4];
#endif

⌨️ 快捷键说明

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