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

📄 aphearsayset.c

📁 这个是好记星608的AP源代码,他的主要是是GUI,还有对字典的操作
💻 C
📖 第 1 页 / 共 2 页
字号:
/****************************************************************************/
/*                                                                          */
/*              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 + -