?? mainmenuwnd.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;
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -