📄 demo.c
字号:
//---------------------------------------------------------------------------------
//
// Copyright (C) SEIKO EPSON CORP. 2004
//
// GROUP : SEE LSI
// FILE : demo.c
// MODULE :
// Function description :
// Revision history :
// Date userName Description
// 2004/06/02 David.ji start
//
// Notes :
//
//---------------------------------------------------------------------------------
//---------------------------------------------------------------------------------
// Include files (#include)
//---------------------------------------------------------------------------------
#include "ros33.h"
#include "sysGUI.h"
#include "main.h"
#include "comFS.h"
#include "usbfw_if.h"
#include "appres.h"
//---------------------------------------------------------------------------------
// macro define
//---------------------------------------------------------------------------------
#define IDC_BTN_VWIN 100 // virtual display
#define IDC_BTN_SNDP 110 // g723.1 snd player
#define IDC_BTN_DSKM 120 // disk manager
#define IDC_BTN_DICT 130 // dictionary demo
#define IDC_BTN_SLID 140 // picture slide show
typedef enum {
APP_MAIN,
APP_VWIN,
APP_SNDP,
APP_DSKM,
APP_DICT,
APP_SLID,
} enAppType;
//---------------------------------------------------------------------------------
// Global var
//---------------------------------------------------------------------------------
T_EXTERN T_VOID USBD_Init(T_VOID);
T_GUI_MainWinCreate CreateInfo;
T_MODULE T_VOID InitCreateInfo(T_GUI_HWND hWnd, T_GUI_pMainWinCreate pCreateInfo, enAppType AppType);
T_WORD userDskProc(T_GUI_HWND hWnd, T_WORD message, T_GUI_WPARAM wParam, T_GUI_LPARAM lParam);
//---------------------------------------------------------------------------------
// App control process
//---------------------------------------------------------------------------------
T_EXTERN T_WORD DskManagerWinProc(T_GUI_HWND hWnd, T_WORD message, T_GUI_WPARAM wParam, T_GUI_LPARAM lParam);
T_EXTERN T_WORD SndplayerWinProc(T_GUI_HWND hWnd, T_WORD message, T_GUI_WPARAM wParam, T_GUI_LPARAM lParam);
T_EXTERN T_WORD DictWinProc(T_GUI_HWND hWnd, T_WORD message, T_GUI_WPARAM wParam, T_GUI_LPARAM lParam);
T_EXTERN T_WORD VirWinProc(T_GUI_HWND hWnd, T_WORD message, T_GUI_WPARAM wParam, T_GUI_LPARAM lParam);
T_EXTERN T_WORD PicSlidProc(T_GUI_HWND hWnd, T_WORD message, T_GUI_WPARAM wParam, T_GUI_LPARAM lParam);
T_EXTERN T_WORD FS_ObtainSemaphore(T_VOID);
T_EXTERN T_WORD FS_ReleaseSemaphore(T_VOID);
T_MODULE T_WORD Demo_InitRes();
T_MODULE T_WORD Demo_FreeRes();
/******************************************************************
* FUNCTION: ControlWinProc(
*
* PURPOSE:
* Control win proc
*
* PARAMETERS
* Input:
* Output:
* InOut:
*
* Return value:
*
* Reentrant : No
*****************************************************************/
T_BYTE* pIconBuf[5];
T_BYTE bDictWnd_exist;
T_WORD ControlWinProc(T_GUI_HWND hWnd, T_WORD message, T_GUI_WPARAM wParam, T_GUI_LPARAM lParam)
{
T_GUI_HWND hWnd_VWIN, hWnd_SNDP, hWnd_DSKM, hWnd_DICT, hWnd_SLID;
T_GUI_HWND hChildWnd1, hChildWnd2, hChildWnd3, hChildWnd4, hChildWnd5;
T_MODULE T_BYTE *pIconBuf1,*pIconBuf2,*pIconBuf3,*pIconBuf4,*pIconBuf5;
T_MODULE T_GUI_HICON pDemoIcon[5];
T_MODULE T_BYTE InitRes = 0;
switch (message) {
case MSG_CREATE:
{
T_WORD i;
T_GUI_HDC hdc;
hdc = fnGUI_BeginPaint(hWnd);
if(Demo_InitRes() != 1)
{
for(i=0; i< 5; i++)
pDemoIcon[i]= fnGUI_LoadIconFromMemory(hdc,(T_CONST T_BYTE *)pSysIcon, 0);
}
else
{
for(i=0; i< 5; i++)
pDemoIcon[i]= fnGUI_LoadIconFromMemory(hdc,(T_CONST T_BYTE *)pIconBuf[i], 0);
InitRes = 1;
}
hChildWnd1 = fnGUI_CreateWindow (CTRL_BUTTON,
" 字典 " , //" 帿 彂 ",
WS_CHILD| WS_VISIBLE
|STY_BTN_OWNERDRAW|STY_BTN_ICONWITHSTRING,
IDC_BTN_DICT,
10, 15, 60, 60, hWnd,
pDemoIcon[0]);
hChildWnd2 = fnGUI_CreateWindow (CTRL_BUTTON,
"G723.1语音", //""俧723.1僾儗乕儎乕",
WS_CHILD| WS_VISIBLE
|STY_BTN_OWNERDRAW|STY_BTN_ICONWITHSTRING,
IDC_BTN_SNDP,
85, 15, 60, 60, hWnd,
pDemoIcon[1]);
hChildWnd3 = fnGUI_CreateWindow (CTRL_BUTTON,
"内存管理", //"僨傿僗僋儅僱乕僕儍",
WS_CHILD| WS_VISIBLE
|STY_BTN_OWNERDRAW|STY_BTN_ICONWITHSTRING,
IDC_BTN_DSKM,
160, 15, 60, 60, hWnd,
pDemoIcon[2]);
hChildWnd4 = fnGUI_CreateWindow (CTRL_BUTTON,
"虚拟桌面", //"壖憐僗僋儕乕儞",
WS_CHILD| WS_VISIBLE
|STY_BTN_OWNERDRAW|STY_BTN_ICONWITHSTRING,
IDC_BTN_VWIN,
235, 15, 60, 60, hWnd,
pDemoIcon[3]);
hChildWnd5 = fnGUI_CreateWindow (CTRL_BUTTON,
"图片幻灯" , //"醏憸僗儔僀僪",
WS_CHILD| WS_VISIBLE
|STY_BTN_OWNERDRAW|STY_BTN_ICONWITHSTRING,
IDC_BTN_SLID,
10, 80, 60, 60, hWnd,
pDemoIcon[4]);
fnGUI_EndPaint(hWnd,hdc);
bDictWnd_exist = 0;
}
break;
case MSG_COMMAND:
{
T_WORD id = LOUHWORD(wParam);
T_WORD code = HIUHWORD(wParam);
switch (id)
{
case IDC_BTN_VWIN:
InitCreateInfo(hWnd, &CreateInfo, APP_VWIN);
hWnd_VWIN = fnGUI_CreateMainWindow(&CreateInfo);
break;
case IDC_BTN_SLID:
InitCreateInfo(hWnd, &CreateInfo, APP_SLID);
hWnd_SLID = fnGUI_CreateMainWindow(&CreateInfo);
break;
case IDC_BTN_SNDP:
InitCreateInfo(hWnd, &CreateInfo, APP_SNDP);
hWnd_SNDP = fnGUI_CreateMainWindow(&CreateInfo);
break;
case IDC_BTN_DSKM:
InitCreateInfo(hWnd, &CreateInfo, APP_DSKM);
hWnd_DSKM = fnGUI_CreateMainWindow(&CreateInfo);
break;
case IDC_BTN_DICT:
if(bDictWnd_exist == 1)
break;
InitCreateInfo(hWnd, &CreateInfo, APP_DICT);
hWnd_DICT = fnGUI_CreateMainWindow(&CreateInfo);
bDictWnd_exist =1;
break;
default:
break;
}
}
break;
case MSG_CLOSE:
{
T_WORD i;
if(InitRes = 1)
{
Demo_FreeRes();
InitRes = 0;
}
for(i=0; i<5; i++)
fnGUI_DestroyIcon(pDemoIcon[i]);
fnGUI_DestroyWindow (hChildWnd1);
fnGUI_DestroyWindow (hChildWnd2);
fnGUI_DestroyWindow (hChildWnd3);
fnGUI_DestroyWindow (hChildWnd4);
fnGUI_DestroyWindow (hChildWnd5);
fnGUI_DestroyMainWindow (hWnd);
fnGUI_PostQuitMessage (hWnd);
return 0;
}
}
return fnGUI_DefaultMainWinProc(hWnd, message, wParam, lParam);
}
/******************************************************************
* FUNCTION: InitCreateInfo
*
* PURPOSE:
* Inital create info
*
* PARAMETERS
* Input:
* Output:
* InOut:
*
* Return value:
*
* Reentrant : No
*****************************************************************/
T_MODULE T_VOID InitCreateInfo(T_GUI_HWND hWnd ,T_GUI_pMainWinCreate pCreateInfo, enAppType AppType)
{
switch (AppType){
case APP_MAIN:
pCreateInfo->dwStyle = WS_VISIBLE;
pCreateInfo->dwExStyle = 0;
pCreateInfo->spCaption = "" ;
pCreateInfo->hMenu = 0;
pCreateInfo->hIcon = 0;
pCreateInfo->MainWindowProc = ControlWinProc;
pCreateInfo->lx = 0;
pCreateInfo->ty = 0;
pCreateInfo->rx = 320;
pCreateInfo->by = 240;
pCreateInfo->iBkColor = COLOR_CYAN;
pCreateInfo->dwAddData = 0;
pCreateInfo->hHosting = HWND_DESKTOP;
break;
case APP_DSKM: // disk manager
pCreateInfo->dwStyle = WS_CAPTION |WS_BORDER |WS_VISIBLE;
pCreateInfo->dwExStyle = WS_EX_TOPMOST;
pCreateInfo->spCaption = "内存管理"; //"僨傿僗僋儅僱乕僕儍" ;
pCreateInfo->hMenu = 0;
pCreateInfo->hIcon = 0;
pCreateInfo->MainWindowProc = DskManagerWinProc;
pCreateInfo->lx = 0;
pCreateInfo->ty = 0;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -