📄 aphearsayset.c
字号:
/****************************************************************************/
/* */
/* Copyright (C) 2005 SHENZHEN MEIJIN CO.LTD */
/* */
/* FILE NAME: ApHearSaySet.c */
/* MODULE NAME: AP应用程序 */
/* DESCRIPTION: 本文件定义了听说教程设置编辑窗口函数 */
/* */
/* FUNCTIONS: */
/* */
/****************************************************************************/
/* NAME DATE REMARKS */
/* ========== ============ ==============================================*/
/* DennyHan 2006-03-10 V1.00B */
/****************************************************************************/
#include "Ap.h"
#include "ApHearSay.h"
#include "ApHearsaySet.h"
//#define HS_MODE_SET 1
#ifndef HEARSAYSET_HELP_ID
#define HEARSAYSET_HELP_ID (UINT)((const UINT8*)"\
1. 按帮助键弹出此帮助。\r\n\
2. 按上下、左右键修改设置。\r\n\
3. 按[1]键或[确认]键确认修改设置并退出。\r\n\
4. 按[2]键或[退出]键取消修改设置并退出。\r\n\
")
#endif
//========================================================
// const char *
static const UINT8* const seting_name1[] =
{
(UINT8*)"自 动",
(UINT8*)"A - B",
};
//========================================================
// Global
//---------
extern RrParam g_RrParam;
HEARSAYSET g_aHSSetting;
// 内部函数说明
INT HearSaySetEventProc ( APGUI_STRUCT *pGui, UINT uEvent, UINT uParam );
INT HearSaySetEvent_Initialize ( APGUI_STRUCT *pGui, UINT uEvent, UINT uParam );
INT HearSaySetEvent_Draw ( APGUI_STRUCT *pGui, UINT uEvent, UINT uParam );
INT HearSaySetEvent_KeyUp ( APGUI_STRUCT *pGui, UINT uEvent, UINT uParam );
INT HearSaySetEvent_KeyDown ( APGUI_STRUCT *pGui, UINT uEvent, UINT uParam );
INT HearSaySetEvent_KeyLeft ( APGUI_STRUCT *pGui, UINT uEvent, UINT uParam );
INT HearSaySetEvent_KeyRight ( APGUI_STRUCT *pGui, UINT uEvent, UINT uParam );
INT HearSaySetEvent_KeyEnter ( APGUI_STRUCT *pGui, UINT uEvent, UINT uParam );
INT HearSaySetEvent_C1L ( APGUI_STRUCT *pGui, UINT uEvent, UINT uParam );
INT HearSaySetEvent_C1R ( APGUI_STRUCT *pGui, UINT uEvent, UINT uParam );
INT HearSaySetEvent_C2L ( APGUI_STRUCT *pGui, UINT uEvent, UINT uParam );
INT HearSaySetEvent_C2R ( APGUI_STRUCT *pGui, UINT uEvent, UINT uParam );
INT HearSaySetEvent_Sure ( APGUI_STRUCT *pGui, UINT uEvent, UINT uParam );
INT HearSaySetEvent_Cancel ( APGUI_STRUCT *pGui, UINT uEvent, UINT uParam );
//================================================
#define ApHearsayBtn11Gui(p) (p+1)
#define ApHearsayBtn12Gui(p) (p+2)
#define ApHearsayBtn21Gui(p) (p+3)
#define ApHearsayBtn22Gui(p) (p+4)
#define ApHearsayBtn31Gui(p) (p+5)
#define ApHearsayBtn32Gui(p) (p+6)
// 设置编辑模板GUI结构
const APGUI_STRUCT g_pEditGuiTemplate[] =
{
// AP的GUI模板
GUI_RESERVE_MARK, // UINT uReserveMark;
0, // INT16 nX;
0, // INT16 nY;
LCD_SCREEN_WIDTH, // UINT16 uWidth;
LCD_SCREEN_HEIGHT+EXTLCD_SCREEN_HEIGHT, // UINT16 uHeight;
(FPGUIHANDLEEVENT)HearSaySetEventProc, // FPGUIHANDLEEVENT fpHandleFunc;
0, // UINT uCurrentIme;
0, // INT nCtrlParam1;
0, // INT nCtrlParam2;
0, // INT nCtrlParam3;
// AP的内部控件之GUI模板
//=============================================
GUI_RESERVE_MARK, // UINT uReserveMark;
APHSSET_BTN31_X, // INT16 nX;
APHSSET_BTN31_Y, // INT16 nY;
APHSSET_BTN31_W, // UINT16 uWidth;
APHSSET_BTN31_H, // UINT16 uHeight;
(FPGUIHANDLEEVENT)ApHearsaySetBar31Proc, // FPGUIHANDLEEVENT fpHandleFunc;
APHSSET_T31,
// (APHSSET_C31+(APHSSET_K31<<16)),
('Q' + ('Q' << 16)),
0, // INT nCtrlParam3;
0, // INT nCtrlParam4;
GUI_RESERVE_MARK, // UINT uReserveMark;
APHSSET_BTN31_X, // INT16 nX;
APHSSET_BTN31_Y, // INT16 nY;
APHSSET_BTN31_W, // UINT16 uWidth;
APHSSET_BTN31_H, // UINT16 uHeight;
(FPGUIHANDLEEVENT)ApHearsaySetBar31Proc, // FPGUIHANDLEEVENT fpHandleFunc;
APHSSET_T31,
// (APHSSET_C31+(APHSSET_K31<<16)),
('q' + ('q' << 16)),
0, // INT nCtrlParam3;
0, // INT nCtrlParam4;
//=============================================
GUI_RESERVE_MARK, // UINT uReserveMark;
APHSSET_BTN32_X, // INT16 nX;
APHSSET_BTN32_Y, // INT16 nY;
APHSSET_BTN32_W, // UINT16 uWidth;
APHSSET_BTN32_H, // UINT16 uHeight;
(FPGUIHANDLEEVENT)ApHearsaySetBar32Proc, // FPGUIHANDLEEVENT fpHandleFunc;
APHSSET_T32,
// (APHSSET_C32+(APHSSET_K32<<16)),
('W' + ('W' << 16)),
0, // INT nCtrlParam3;
0, // INT nCtrlParam4;
GUI_RESERVE_MARK, // UINT uReserveMark;
APHSSET_BTN32_X, // INT16 nX;
APHSSET_BTN32_Y, // INT16 nY;
APHSSET_BTN32_W, // UINT16 uWidth;
APHSSET_BTN32_H, // UINT16 uHeight;
(FPGUIHANDLEEVENT)ApHearsaySetBar32Proc, // FPGUIHANDLEEVENT fpHandleFunc;
APHSSET_T32,
// (APHSSET_C32+(APHSSET_K32<<16)),
('w' + ('w' << 16)),
0, // INT nCtrlParam3;
0, // INT nCtrlParam4;
//----------------------
// 结束符
NULL
};
/****************************************************************************/
/* FUNCTION: INT HearSaySetMain( INT nParam ) */
/* DESCRIPTION:听说教程程序入口函数 */
/* INPUTS: nParam - 传入参数 */
/* OUTPUTS: NONE */
/* RETURN: AP运行结束后的退出代码 */
/****************************************************************************/
/* NAME DATE REMARKS */
/* ========== ============ ==============================================*/
/* DennyHan 2006-03-10 V1.00B */
/****************************************************************************/
INT HearSaySetMain(INT nParam)
{
return RunAp((APGUI_STRUCT*)g_pEditGuiTemplate);
}
// 听说教程各事件处理函数跳转表
const APEV_HANDLE_TABLE g_aHearSaySetEvTable[] =
{
{EVENT_INITIALIZE, (FPGUIHANDLEEVENT)HearSaySetEvent_Initialize},
{EVENT_DRAW, (FPGUIHANDLEEVENT)HearSaySetEvent_Draw},
{NULL, NULL},
};
const APEV_HANDLE_TABLE_EX g_aHearSaySetEvTableEx[] =
{
{EVENT_KEY, MVK_UP, (FPGUIHANDLEEVENT)HearSaySetEvent_KeyUp},
{EVENT_KEY, MVK_DOWN, (FPGUIHANDLEEVENT)HearSaySetEvent_KeyDown},
{EVENT_KEYREPEAT, MVK_UP, (FPGUIHANDLEEVENT)HearSaySetEvent_KeyUp},
{EVENT_KEYREPEAT, MVK_DOWN, (FPGUIHANDLEEVENT)HearSaySetEvent_KeyDown},
{EVENT_KEY, MVK_LEFT, (FPGUIHANDLEEVENT)HearSaySetEvent_KeyLeft},
{EVENT_KEY, MVK_RIGHT, (FPGUIHANDLEEVENT)HearSaySetEvent_KeyRight},
{EVENT_KEYREPEAT, MVK_LEFT, (FPGUIHANDLEEVENT)HearSaySetEvent_KeyLeft},
{EVENT_KEYREPEAT, MVK_RIGHT, (FPGUIHANDLEEVENT)HearSaySetEvent_KeyRight},
{EVENT_KEY, MVK_RETURN, (FPGUIHANDLEEVENT)HearSaySetEvent_KeyEnter},
// {EVENT_COMMAND, APHSSET_C31, (FPGUIHANDLEEVENT)HearSaySetEvent_Sure},
// {EVENT_COMMAND, APHSSET_C32, (FPGUIHANDLEEVENT)HearSaySetEvent_Cancel},
{EVENT_COMMAND, 'Q', (FPGUIHANDLEEVENT)HearSaySetEvent_Sure},
{EVENT_COMMAND, 'q', (FPGUIHANDLEEVENT)HearSaySetEvent_Sure},
{EVENT_COMMAND, 'W', (FPGUIHANDLEEVENT)HearSaySetEvent_Cancel},
{EVENT_COMMAND, 'w', (FPGUIHANDLEEVENT)HearSaySetEvent_Cancel},
{NULL, NULL, NULL},
};
/****************************************************************************/
/* FUNCTION: INT HearSayEventProc( APGUI_STRUCT *pGui, UINT uEvent, */
/* UINT uParam ) */
/* DESCRIPTION:听说教程事件处理函数 */
/* INPUTS: NONE */
/* OUTPUTS: NONE */
/* RETURN: 事件处理结束后的的返回值 */
/****************************************************************************/
/* NAME DATE REMARKS */
/* ========== ============ ==============================================*/
/* DennyHan 2006-03-10 V1.00B */
/****************************************************************************/
INT HearSaySetEventProc( APGUI_STRUCT *pGui, UINT uEvent, UINT uParam )
{
INT nRet;
nRet = HanldeEventTable( pGui, uEvent, uParam, (APEV_HANDLE_TABLE*)g_aHearSaySetEvTable );
if ( nRet == 0 )
nRet = HanldeEventTableEx( pGui, uEvent, uParam, (APEV_HANDLE_TABLE_EX*)g_aHearSaySetEvTableEx );
return nRet;
}
/****************************************************************************/
/* FUNCTION: INT HearSaySetEvent_Initialize( APGUI_STRUCT *pGui, */
/* UINT uEvent, UINT uParam ) */
/* DESCRIPTION:听说教程初始化事件处理 */
/* INPUTS: NONE */
/* OUTPUTS: NONE */
/* RETURN: 处理初始化事件的返回值 */
/****************************************************************************/
/* NAME DATE REMARKS */
/* ========== ============ ==============================================*/
/* DennyHan 2006-03-10 V1.00B */
/****************************************************************************/
INT HearSaySetEvent_Initialize( APGUI_STRUCT *pGui, UINT uEvent, UINT uParam )
{
SetGuiHelp(HEARSAYSET_HELP_ID);
#ifdef HS_MODE_SET
// Temp Count
pGui->nCtrlParam1=0;
#else
pGui->nCtrlParam1=1;
#endif
// 在此进行AP的初始化
EditLoadSetting();
return 1;
}
/****************************************************************************/
/* FUNCTION: INT HearSaySetEvent_Draw( APGUI_STRUCT *pGui, */
/* UINT uEvent, UINT uParam ) */
/* DESCRIPTION:听说教程显示事件处理 */
/* INPUTS: NONE */
/* OUTPUTS: NONE */
/* RETURN: 处理显示事件的返回值 */
/****************************************************************************/
/* NAME DATE REMARKS */
/* ========== ============ ==============================================*/
/* DennyHan 2006-03-10 V1.00B */
/****************************************************************************/
INT HearSaySetEvent_Draw( APGUI_STRUCT *pGui, UINT uEvent, UINT uParam )
{
UINT8 tip[16];
BOOL bInfinite;
GraphDisableRefresh();
GraphClearScreen();
// Title area
ApDrawTitleBar(IDB_TITLEAUD,(UINT8*)g_RrParam.pTitle,TITLETEXT_STYLE_LEFT);
ApDrawFrame();
//
GraphDrawIcon(SET_ICON_X,SET_ICON_Y, 0, 0,(UINT8*)MAKE_ID(IDB_SET));
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -