MainMenuWnd.c
资源名称:pfly523.rar [点击查看]
上传用户:shyhai1508
上传日期:2007-06-11
资源大小:48k
文件大小:2k
源码类别:
BREW编程
开发平台:
Visual C++
- #include "MainMenuWnd.h"
- #include "pfly.h"
- #include "commondef.h"
- #include "pfly_res.h"
- static void MainMenuWnd_Update(MainMenuWnd* pthis);
- static boolean MainMenuWnd_HandleCommandEvent(MainMenuWnd* pthis,uint16 wParam,uint32 dwParam);
- boolean MainMenuWnd_New(MainMenuWnd* pthis, PflyApp* pMe)
- {
- pthis->pMe = pMe;
- pthis->pIMenu = NULL;
- return TRUE;
- }
- boolean MainMenuWnd_HandleEvent(MainMenuWnd* pthis, AEEEvent eCode, uint16 wParam, uint32 dwParam)
- {
- switch(eCode){
- case EVT_COMMAND:
- return MainMenuWnd_HandleCommandEvent(pthis,wParam,dwParam);;
- case EVT_APP_SUSPEND:
- return TRUE;
- case EVT_APP_RESUME:
- MainMenuWnd_Update(pthis);
- return TRUE;
- default:
- return IMENUCTL_HandleEvent(pthis->pIMenu,eCode,wParam,dwParam);
- }
- }
- boolean MainMenuWnd_Open(MainMenuWnd* pthis)
- {
- AEERect rect;
- AEEDeviceInfo di;
- ISHELL_CreateInstance(pthis->pMe->a.m_pIShell,AEECLSID_MENUCTL,(void**)&pthis->pIMenu);
- //设置菜单标题
- IMENUCTL_SetTitle(pthis->pIMenu, PFLY_RES_FILE, IDS_MENUTITLE, 0);
- //设置菜单矩形
- ISHELL_GetDeviceInfo(pthis->pMe->a.m_pIShell,&di);
- rect.x = 0;
- rect.y = 0;
- rect.dx = di.cxScreen;
- rect.dy = di.cyScreen;
- IMENUCTL_SetRect(pthis->pIMenu, &rect);
- //给菜单加子项目
- IMENUCTL_AddItem(pthis->pIMenu, PFLY_RES_FILE, IDS_MENU_START, IDS_MENU_START, 0, 0);
- IMENUCTL_AddItem(pthis->pIMenu, PFLY_RES_FILE, IDS_MENU_SCOREVIEW, IDS_MENU_SCOREVIEW, 0, 0);
- IMENUCTL_AddItem(pthis->pIMenu, PFLY_RES_FILE, IDS_MENU_EXIT, IDS_MENU_EXIT, 0, 0);
- MainMenuWnd_Update(pthis);
- return TRUE;
- }
- void MainMenuWnd_Close(MainMenuWnd* pthis)
- {
- if(pthis->pIMenu) {
- IMENUCTL_Release(pthis->pIMenu);
- pthis->pIMenu = NULL;
- }
- }
- void MainMenuWnd_Free(MainMenuWnd* pthis)
- {
- if(pthis->pIMenu) {
- IMENUCTL_Release(pthis->pIMenu);
- pthis->pIMenu = NULL;
- }
- }
- static void MainMenuWnd_Update(MainMenuWnd* pthis)
- {
- IMENUCTL_SetActive(pthis->pIMenu,TRUE);
- IMENUCTL_Redraw(pthis->pIMenu);
- }
- static boolean MainMenuWnd_HandleCommandEvent(MainMenuWnd* pthis,uint16 wParam,uint32 dwParam)
- {
- switch(wParam) {
- case IDS_MENU_START:
- return Pfly_SetActiveWnd(pthis->pMe, IDW_GAME);
- case IDS_MENU_SCOREVIEW:
- return Pfly_SetActiveWnd(pthis->pMe, IDW_SCORELIST);
- case IDS_MENU_EXIT:
- ISHELL_CloseApplet(pthis->pMe->a.m_pIShell,FALSE);
- return TRUE;
- default:
- return FALSE;
- }
- }
English
