typedef struct _testimage {
AEEApplet a ; // First element of this structure must be AEEApplet
AEEDeviceInfo DeviceInfo; // always have access to the hardware device information
if( ClsId == AEECLSID_TESTIMAGE )
{
// Create the applet and make room for the applet structure
if( AEEApplet_New(sizeof(testimage),
ClsId,
pIShell,
po,
(IApplet**)ppObj,
(AEEHANDLER)testimage_HandleEvent,
(PFNFREEAPPDATA)testimage_FreeAppData) ) // the FreeAppData function is called after sending EVT_APP_STOP to the HandleEvent function
{
//Initialize applet data, this is called before sending EVT_APP_START
// to the HandleEvent function
if(testimage_InitAppData((testimage*)*ppObj))
{
//Data initialized successfully
return(AEE_SUCCESS);
}
else
{
//Release the applet. This will free the memory allocated for the applet when
// AEEApplet_New was called.
IAPPLET_Release((IApplet*)*ppObj);
return EFAILED;
}
===========================================================================*/
static boolean testimage_HandleEvent(testimage* pMe, AEEEvent eCode, uint16 wParam, uint32 dwParam)
{ //是不是这里没调用RootForm的事件啊,只是猜测,这个可以 if(IROOTFORM_HandleEvent(pMe->rootForm, eCode, wParam, dwParam))
return TRUE; switch (eCode)
{
// App is told it is starting up
case EVT_APP_START:
// Add your code here...
//CreateMain(pMe);
CreateProp(pMe);
return(TRUE);
// App is told it is exiting
case EVT_APP_STOP:
// Add your code here...
return(TRUE);
// App is being suspended
case EVT_APP_SUSPEND:
// Add your code here...
return(TRUE);
// App is being resumed
case EVT_APP_RESUME:
// Add your code here...
return(TRUE);
// An SMS message has arrived for this app. Message is in the dwParam above as (char *)
// sender simply uses this format "//BREW:ClassId:Message", example //BREW:0x00000001:Hello World
case EVT_APP_MESSAGE:
// Add your code here...
return(TRUE);
// A key was pressed. Look at the wParam above to see which key was pressed. The key
// codes are in AEEVCodes.h. Example "AVK_1" means that the "1" key was pressed.
case EVT_KEY:
// Add your code here...
return(TRUE);
// If nothing fits up to this point then we'll just break out
default:
break;
}
return FALSE;
}
// this function is called when your application is starting up
boolean testimage_InitAppData(testimage* pMe)
{
// Insert your code here for initializing or allocating resources...
pMe->piShell=pMe->a.m_pIShell;
ISHELL_CreateInstance(pMe->piShell,AEECLSID_ROOTFORM,(void **)&pMe->rootForm);
pMe->mainForm=NULL;
// if there have been no failures up to this point then return success
return TRUE;
}