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

📄 control.c

📁 在ARM7和UC/OSII的平台上实现了GPS自动报站的功能,涉及GPS模块LEA_4S的驱动,位置速寻算法,语音芯片ISD4004的录放音驱动,LED页面管理等等.从启动代码到操作系统的移植以及到业
💻 C
字号:
/*
******************************************************************
*                  XIAMEN YAXON NETWORK CO.LTD.  
*                   XINXI BUILDING,HULI,XIAMEN
*      (c) Copyright 2002,XIAMEN YAXON NETWORK CO.LTD. ,XIAMEN
*                     All Rights Reserved
*
* FileName     :  CONTROL.C
* Programmer(s):  WuJingYu
* Description  : 
******************************************************************
*/

/*
*****************************************************************
*                  REVISION HISTORY
*                 
* Date:    2002-10-31
*****************************************************************
*/ 

#define CONTROL_GLOBALS 
#include "includes.h"
#include "LCD.H"
#include "zprint.h"

static void CheckControlEntry(CTLENTITY *entity)
{
     if (entity->ctlattrib > MAXCONTROL) ;  //err handle
     if (entity->ctlptr == NULL);      // err handle
}

void InitControl(CTLENTITY *entity)
{
     CheckControlEntry(entity);
     switch (entity->ctlattrib) {
        //case CTL_TEXTBOX :
          // break;      
        case  CTL_READBOX :    
           InitReadBox((READBOX*)entity->ctlptr);
           break;
        case  CTL_LISTBOX :
           InitListBox((LISTBOX*)entity->ctlptr);
           break;
        case  CTL_GPMENU  :   
           InitGpMenu((GPMENU*)entity->ctlptr);
           break;
        case CTL_PHOTOBOX :
           break;   
        case  CTL_EDITBOX :  
           InitEditBox((EDITBOX*)entity->ctlptr); 
           break;
       // case  CTL_SELECTBOX :  
       //    InitSelectBox((SELECTBOX*)entity->ctlptr); 
      //     break;
        //case  CTL_INPUTBOX :
        //   InitInputBox((INPUTBOX*)entity->ctlptr); 
        //   break;
        default: 
           break;
     }         
}
    
    
void DestroyControl(CTLENTITY *entity)
{
    switch (entity->ctlattrib) {
            
        case  CTL_READBOX :    
           break;
        case  CTL_LISTBOX :
           DestroyListBox((LISTBOX*)entity->ctlptr);
           break;
        case  CTL_GPMENU  :
           DestroyGpMenu((GPMENU*)entity->ctlptr);   
           break;
        case  CTL_PHOTOBOX :
           break;
        case  CTL_EDITBOX :  
           DestroyEditBox((EDITBOX*)entity->ctlptr);
           break;
        default: 
           break;  
     }
}    

void CreateControl(CTLENTITY *entity)
{
     CheckControlEntry(entity);
     switch (entity->ctlattrib) {
        case CTL_TEXTBOX :
           CreateTextBox((TEXTBOX*)entity->ctlptr);
           break;    
        case CTL_BEELINE :
           CreateBeeLine((BEELINE*)entity->ctlptr);
           break;      
        case  CTL_READBOX :    
           CreateReadBox((READBOX*)entity->ctlptr);
           break;
        case  CTL_LISTBOX :
           CreateListBox((LISTBOX*)entity->ctlptr);
           break;
        case  CTL_GPMENU  :   
           CreateGpMenu((GPMENU*)entity->ctlptr);
           break;
       case  CTL_PHOTOBOX :
           CreatePhotoBox((PHOTOBOX*)entity->ctlptr);
           break;    
        case  CTL_EDITBOX :  
           CreateEditBox((EDITBOX*)entity->ctlptr); 
           break;
 //       case  CTL_SELECTBOX :  
 ///          CreateSelectBox((SELECTBOX*)entity->ctlptr); 
 //          break;
        //case  CTL_INPUTBOX :
        //   CreateInputBox((INPUTBOX*)entity->ctlptr); 
        //   break;
        default: 
           break;
     }         
}

BOOLEAN Control_HdlKey(CTLENTITY *entity)
{
     CheckControlEntry(entity);

     switch (entity->ctlattrib) 
     {
        case CTL_TEXTBOX :
           return FALSE;          
        case CTL_BEELINE :
           return FALSE;          
        case  CTL_READBOX :    
           return ReadBox_HdlKey((READBOX*)entity->ctlptr);
        case  CTL_LISTBOX :
           return ListBox_HdlKey((LISTBOX*)entity->ctlptr);
        case  CTL_GPMENU  :   
           return GpMenu_HdlKey((GPMENU*)entity->ctlptr);
        case  CTL_PHOTOBOX :
           return FALSE;
        case  CTL_EDITBOX :  
           return EditBox_HdlKey((EDITBOX*)entity->ctlptr); 
        default: 
           return FALSE;
     }         
}     

BOOLEAN Control_HaveFocus(CTLENTITY  *entity)
{
     switch (entity->ctlattrib) {
        case CTL_TEXTBOX :
           return FALSE;
        case CTL_BEELINE :
           return FALSE;     
        case  CTL_PHOTOBOX :
           return FALSE;
        default :
           return TRUE;    
     }
}
    
void Control_SetFocus(CTLENTITY  *entity)
{
     CheckControlEntry(entity);
     switch (entity->ctlattrib) {
        case CTL_TEXTBOX :
           return;
        case CTL_BEELINE :
           return ;     
        case  CTL_READBOX :    
           return;
        case  CTL_LISTBOX :
           IndicateListBox((LISTBOX*)entity->ctlptr);
           break;
        case  CTL_GPMENU  :   
           IndicateGpMenu((GPMENU*)entity->ctlptr);
           break;
        case  CTL_PHOTOBOX :
           return;
        case  CTL_EDITBOX :  
           IndicateEditBox((EDITBOX*)entity->ctlptr); 
           break;
     //   case  CTL_SELECTBOX :  
    //       IndicateSelectBox((SELECTBOX*)entity->ctlptr); 
    //       break;
        //case  CTL_INPUTBOX :
        //   IndicateInputBox((INPUTBOX*)entity->ctlptr); 
        //   break;
        default: 
           break;
     }        
}

void Control_ReleaseFocus(CTLENTITY  *entity)
{
     CheckControlEntry(entity);
     switch (entity->ctlattrib) {
        case CTL_TEXTBOX :
           return;
        case CTL_BEELINE :
           return;     
        case  CTL_READBOX :    
           return;
        case  CTL_LISTBOX :
           UnIndicateListBox((LISTBOX*)entity->ctlptr);
           break;
        case  CTL_GPMENU  :   
           UnIndicateGpMenu((GPMENU*)entity->ctlptr);
           break;
        case  CTL_PHOTOBOX :
           return;
        case  CTL_EDITBOX :  
           UnIndicateEditBox((EDITBOX*)entity->ctlptr); 
           break;
  //      case  CTL_SELECTBOX : 
  //         Printu("CTL_SELECTBOX>"); 
  //         UnIndicateSelectBox((SELECTBOX*)entity->ctlptr); 
  //         break;
        //case  CTL_INPUTBOX :
        //   UnIndicateInputBox((INPUTBOX*)entity->ctlptr); 
        //   break;
        default: 
           break;
     }        
}

⌨️ 快捷键说明

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