📄 control.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 + -