?? mainproject1.c
字號(hào):
#include "mycommon.h"
int AEEClsCreateInstance(AEECLSID ClsId, IShell *pIShell, IModule *po, void **ppObj)
{
*ppObj = NULL;
if( ClsId == AEECLSID_MAINPROJECT1 )
{
if( AEEApplet_New(sizeof(mainproject1),
ClsId,
pIShell,
po,
(IApplet**)ppObj,
(AEEHANDLER)mainproject1_HandleEvent,
(PFNFREEAPPDATA)mainproject1_FreeAppData) )
{
if(mainproject1_InitAppData((mainproject1*)*ppObj))
{
return(AEE_SUCCESS);
}
else
{
IAPPLET_Release((IApplet*)*ppObj);
return EFAILED;
}
}
}
return(EFAILED);
}
static boolean mainproject1_HandleEvent(mainproject1* pMe, AEEEvent eCode, uint16 wParam, uint32 dwParam)
{
switch (eCode)
{
case EVT_APP_START:
IMENUCTL_SetActive(pMe->menuCtl,TRUE);
pMe->myBitmap = loadBitmap(pMe,"chess.bmp");
if(pMe->myBitmap)
{
pMe->comBitmap = pMe->myBitmap;
showBitmap(pMe,pMe->myBitmap);
}
IMENUCTL_Redraw(pMe->menuCtl);
IDISPLAY_Update(pMe->a.m_pIDisplay);
return(TRUE);
case EVT_KEY_PRESS:
if(pMe->menuCtl)
IMENUCTL_HandleEvent(pMe->menuCtl,EVT_KEY,wParam,0);
return (TRUE);
case EVT_COMMAND:
switch(wParam)
{
case ID_H_TENSION:
pMe->comBitmap = zoom(pMe,pMe->myBitmap,ZOOM_H,1);
break;
case ID_V_TENSION:
pMe->comBitmap = zoom(pMe,pMe->myBitmap,ZOOM_V,1);
break;
case ID_H_SHRINK:
pMe->comBitmap = zoom(pMe,pMe->myBitmap,ZOOM_H,-1);
break;
case ID_V_SHRINK:
pMe->comBitmap = zoom(pMe,pMe->myBitmap,ZOOM_V,-1);
break;
case ID_H_CONVENT:
if(SUCCESS == HConventPic(pMe,pMe->comBitmap))
if(pMe->comBitmap == pMe->myBitmap)
pMe->isHConvent = !pMe->isHConvent;
break;
case ID_V_CONVENT:
if(SUCCESS == VConventPic(pMe,pMe->comBitmap))
if(pMe->comBitmap == pMe->myBitmap)
pMe->isVConvent = !pMe->isVConvent;
break;
case ID_CLOCK_TURN:
pMe->comBitmap = clockTurn(pMe,pMe->comBitmap);
break;
case ID_REVERT:
if(pMe->isHConvent)
HConventPic(pMe,pMe->myBitmap);
if(pMe->isVConvent)
VConventPic(pMe,pMe->myBitmap);
pMe->isHConvent = FALSE;
pMe->isVConvent = FALSE;
if(pMe->comBitmap != pMe->myBitmap)
FREEMAP(pMe->comBitmap);
pMe->comBitmap = pMe->myBitmap;
break;
default:
break;
}
IDISPLAY_ClearScreen(pMe->a.m_pIDisplay);
showBitmap(pMe,pMe->comBitmap);
IMENUCTL_Redraw(pMe->menuCtl);
IDISPLAY_Update(pMe->a.m_pIDisplay);
return (TRUE);
case EVT_APP_STOP:
return(TRUE);
case EVT_APP_SUSPEND:
return(TRUE);
case EVT_APP_RESUME:
return(TRUE);
case EVT_APP_MESSAGE:
return(TRUE);
case EVT_KEY:
switch(wParam)
{
case AVK_2:
pMe->start_y -= 5;
pMe->off_y -= 5;
break;
case AVK_8:
pMe->start_y += 5;
pMe->off_y += 5;
break;
case AVK_4:
pMe->start_x -=5;
pMe->off_x -= 5;
break;
case AVK_6:
pMe->start_x +=5;
pMe->off_x += 5;
break;
case AVK_5:
if(pMe->comBitmap != pMe->myBitmap)
FREEMAP(pMe->comBitmap);
pMe->comBitmap = zoom(pMe,pMe->myBitmap,ZOOM_HV,1);
break;
case AVK_0:
if(pMe->comBitmap != pMe->myBitmap)
FREEMAP(pMe->comBitmap);
pMe->comBitmap = zoom(pMe,pMe->myBitmap,ZOOM_HV,-1);
break;
default:
return (TRUE);
}
IDISPLAY_ClearScreen(pMe->a.m_pIDisplay);
if(pMe->comBitmap)
showBitmap(pMe,pMe->comBitmap);
IMENUCTL_Redraw(pMe->menuCtl);
IDISPLAY_Update(pMe->a.m_pIDisplay);
return (TRUE);
default:
break;
}
return FALSE;
}
boolean mainproject1_InitAppData(mainproject1* pMe)
{
pMe->DeviceInfo.wStructSize = sizeof(pMe->DeviceInfo);
ISHELL_GetDeviceInfo(pMe->a.m_pIShell,&pMe->DeviceInfo);
pMe->myBitmap = NULL;
pMe->comBitmap = NULL;
pMe->zoomLRtimes = 0;
pMe->zoomUDtimes = 0;
pMe->isHConvent = FALSE;
pMe->isVConvent = FALSE;
ISHELL_CreateInstance(pMe->a.m_pIShell,AEECLSID_SOFTKEYCTL,&pMe->menuCtl);
IMENUCTL_SetTitle(pMe->menuCtl,NULL,0,L"mytestmenu");
/*/English
IMENUCTL_AddItem(pMe->menuCtl,NULL,0,ID_H_TENSION,L"Hor-Tension",0);
IMENUCTL_AddItem(pMe->menuCtl,NULL,0,ID_V_TENSION,L"Ver-Tension",0);
IMENUCTL_AddItem(pMe->menuCtl,NULL,0,ID_H_SHRINK,L"Hor-Shrink",0);
IMENUCTL_AddItem(pMe->menuCtl,NULL,0,ID_V_SHRINK,L"Ver-Shrink",0);
IMENUCTL_AddItem(pMe->menuCtl,NULL,0,ID_REVERT,L"Revert",0);
IMENUCTL_SetFocus(pMe->menuCtl,ID_H_TENSION);
/*/
//簡(jiǎn)體中文
IMENUCTL_AddItem(pMe->menuCtl,NULL,0,ID_H_TENSION,L"水平拉伸",0);
IMENUCTL_AddItem(pMe->menuCtl,NULL,0,ID_V_TENSION,L"垂直拉伸",0);
IMENUCTL_AddItem(pMe->menuCtl,NULL,0,ID_H_SHRINK,L"水平壓縮",0);
IMENUCTL_AddItem(pMe->menuCtl,NULL,0,ID_V_SHRINK,L"垂直壓縮",0);
IMENUCTL_AddItem(pMe->menuCtl,NULL,0,ID_H_CONVENT,L"水平翻轉(zhuǎn)",0);
IMENUCTL_AddItem(pMe->menuCtl,NULL,0,ID_V_CONVENT,L"垂直翻轉(zhuǎn)",0);
IMENUCTL_AddItem(pMe->menuCtl,NULL,0,ID_CLOCK_TURN,L"順時(shí)針旋轉(zhuǎn)",0);
IMENUCTL_AddItem(pMe->menuCtl,NULL,0,ID_REVERT,L"還原",0);
IMENUCTL_SetFocus(pMe->menuCtl,ID_H_TENSION);
//
IMENUCTL_GetRect(pMe->menuCtl,&pMe->blankArea);
pMe->off_x = 0;
pMe->off_y = 0;
pMe->start_x = 0;
pMe->start_y = 0;
pMe->blankArea.x = 0;
pMe->blankArea.y = 0;
pMe->blankArea.dy = pMe->DeviceInfo.cyScreen - pMe->blankArea.dy;
return TRUE;
}
void mainproject1_FreeAppData(mainproject1* pMe)
{
FREEMAP(pMe->myBitmap);
FREEMAP(pMe->comBitmap);
if(pMe->menuCtl != NULL)
{
IMENUCTL_Release(pMe->menuCtl);
pMe->menuCtl = NULL;
}
}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -