当前位置: 代码迷 >> Brew >> 请教,buiw,propcontainer下insert一个textwidget的有关问题
  详细解决方案

请教,buiw,propcontainer下insert一个textwidget的有关问题

热度:9449   发布时间:2013-02-26 00:00:00.0
请问,buiw,propcontainer下insert一个textwidget的问题。
我在propcontainer下insert一个textwidget。运行模拟器,每次按下手机模拟器按键时,都没有反应,不能键入字符。
不知道为何?

我还在textwidget中自定一个TextWdgHandleEvent函数。
但是也是接收不到按键事件。

请问该添加什么语句啊?

多谢帮忙!

------解决方案--------------------------------------------------------
代码贴出来看看
------解决方案--------------------------------------------------------
/*===========================================================================

FILE: testimage.c
===========================================================================*/


#include "AEEModGen.h" // Module interface definitions
#include "AEEAppGen.h" // Applet interface definitions
#include "AEEShell.h" // Shell interface definitions
#include "AEERootForm.h"
#include "AEEForm.h"
#include "AEEImageStaticWidget.h"
#include "AEEPropContainer.h"
#include "AEETextWidget.h"
#include "testimage.bid"



typedef struct _testimage {
AEEApplet a ; // First element of this structure must be AEEApplet
AEEDeviceInfo DeviceInfo; // always have access to the hardware device information

// add your own variables here...

IShell *piShell;
IRootForm *rootForm;
IForm *mainForm;
IWidget *imageStaitc;

} testimage;

/*-------------------------------------------------------------------
Function Prototypes
-------------------------------------------------------------------*/
static boolean testimage_HandleEvent(testimage* pMe, AEEEvent eCode, 
uint16 wParam, uint32 dwParam);
boolean testimage_InitAppData(testimage* pMe);
void testimage_FreeAppData(testimage* pMe);
boolean CreateMain(testimage* pMe);
boolean CreateProp(testimage* pMe);

===========================================================================*/
int AEEClsCreateInstance(AEECLSID ClsId, IShell *pIShell, IModule *po, void **ppObj)
{
*ppObj = NULL;

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;
}

} // end AEEApplet_New

}

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...
  相关解决方案