formpage.c
来自「在ARM7和UC/OSII的平台上实现了GPS自动报站的功能,涉及GPS模块LE」· C语言 代码 · 共 120 行
C
120 行
/****************************************************************
** *
** FILE : FormPage.c *
** *
** By : Cyb 2007.07.01 *
****************************************************************/
#define FORMPAGE_GLOBALS
#include "includes.h"
#include "FormPage.h"
#include "WinStack.h"
#include "DisplayTask.h"
void FormPageInitProc(FORMPAGE *formpage)
{
void (*execfunc)(void);
execfunc = formpage->initfunc;
if (execfunc != NULL) (*execfunc)();
execfunc = formpage->createfunc;
if (execfunc != NULL) (*execfunc)();
}
void FormPageHdlKeyProc(FORMPAGE *formpage)
{
void (*hdlkeyfunc)(void);
INT8U recvkey;
recvkey = GetCurKey();
hdlkeyfunc = formpage->hdlkeyfunc;
if (hdlkeyfunc != NULL)
{
(*hdlkeyfunc)();
return ;
}
if (recvkey == KEY_CLR)
{
PopFormStack();
}
}
void FormPageDestroyProc(FORMPAGE *formpage)
{
void (*execfunc)(void);
execfunc = formpage->destroyfunc;
if (execfunc != NULL) (*execfunc)();
}
void FormPageSuspendProc(FORMPAGE *formpage)
{
void (*execfunc)(void);
execfunc = formpage->suspendfunc;
if (execfunc != NULL) (*execfunc)();
}
void FormPageResumeProc(FORMPAGE *formpage)
{
void (*execfunc)(void);
execfunc = formpage->resuinitfunc;
if (execfunc != NULL) (*execfunc)();
execfunc = formpage->resumefunc;
if (execfunc != NULL) (*execfunc)();
}
void SetFormPageLifeTime(FORMPAGE *formpage,INT8U lifetime)
{
formpage->lifetime = lifetime;
}
void CreateFormPage(void)
{
PushFormStack();
}
void RefreshFormPage(void)
{
RefreshFormStack();
}
void CloseFormPage(void)
{
PopFormStack();
}
void CloseMultipleFormPage(INT8U closenum)
{
INT8U curdepth;
curdepth = GetFormPageDepth();
if (curdepth <= closenum) {
ReturnSpecifiedPage(0);
} else {
curdepth -= closenum;
ReturnSpecifiedPage(curdepth);
}
}
void ResetFormPage(FORMPAGE *formpage)
{
memset((INT8U*)formpage,0,sizeof(FORMPAGE));
formpage->lifetime = PAGELIFE_NORMAL;
formpage->formattrib = NORMALFORMPAGE;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?