IForm_SetHandler后无法调用新的事件处理函数
发布时间:2010-05-30 20:19:33 文章来源:www.iduyao.cn 采编人员:星星草
求助:IForm_SetHandler后无法调用新的事件处理函数
为Form窗口设置新的事件处理函数,但在点击上下方向按键和softkey的时候,并未进入新的事件处理函数中,谁能告诉我什么原因。
代码如下:
static void menuForm_DrawScreen(menuForm * pMe)
{
int nErr;
nErr = ISHELL_CreateInstance(pMe->piShell, AEECLSID_RootForm, (void **)&(pMe->piRootForm));
nErr = ISHELL_CreateInstance(pMe->piShell, AEECLSID_Form, (void **)&(pMe->iForm));
nErr = IRootForm_PushForm(pMe->piRootForm, pMe->iForm);
HANDLERDESC_INIT(&pMe->hd, (PFNHANDLER)mainMenuForm_HandleEvent, (void*)pMe, NULL);
IForm_SetHandler(pMe->iForm, &pMe->hd);
}
static boolean mainMenuForm_HandleEvent(menuForm* pMe, AEEEvent evt,
uint16 wParam, uint32 dwParam)
{
switch (evt) {
case EVT_KEY:
{
switch (wParam) {
// Up arrow key was pressed:
case AVK_UP:
break;
// Down arrow key was pressed:
case AVK_DOWN:
break;
case AVK_SOFT1:
//DBGPRINTF("AVK_SOFT1");
break;
case AVK_SOFT2:
IRootForm_PopForm(pMe->piRootForm);
ISHELL_CloseApplet(pMe->piShell, FALSE);
break;
case AVK_SELECT:
break;
default:
break;
}
}
break;
case EVT_COMMAND:
break;
}
return HANDLERDESC_CALL(&pMe->hd, evt, wParam, dwParam);
}
当在模拟器界面点击上下方向键和softKey键时,并未进入事件函数mainMenuForm_HandleEvent,不知道什么原因
------解决方案--------------------
我想eventHandler是可以接收到这些方向键事件的,但是如果对List widget事件处理,应该使用view model更方便一些,view model 可以认为是一个现成的高级的eventHandler,如
IWIDGET_GetViewModel(piw, &piListViewModel);
LISTENER_Init(&pMe->ListListener, ListListenerCallBack, pMe);
IMODEL_AddListener(piListViewModel, &pMe->ListListener);
在函数ListListenerCallBack处理EVT_MDL_FOCUS_CHANGE和EVT_MDL_FOCUS_SELECT事件。
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。
其他相似内容:
-
什么情况下应用会收到EVT_KEY_HOOK_XXX事件
最近调代码的时候,发现应用莫名其妙地收到了EVT_KEY_HOOK_XXX事件,而没有捕获到我真正...
-
怎么让数字转化成字符串?
我的程序,需在手机上显示一些记录的条数,这些条数不是固定的,视情况而定,我需要把记录的条数显示到手机...
-
如何获取基站CellID信息
RT
------解决方案--------------------
IPOSDET_GetSectorInfo这个接口...
-
文本的字体显示问题;和保存.txt时,在模拟器上保存成功,到真机上就保存失败,这是什么原因?
我资源管理里面加载的汉子是直接从网上下载...
-
BREW如何获取手机号码
BREW如何获取手机号码
------解决方案--------------------
如果在联网的时候使用了CTWAP的网关,可以从ht...
-
关于BREW里面的电池条问题?怎么才能知道这个电池条是否处于关闭或者打开的状态?
C/C++ code
HTC_SetAnn(pMe->a.m_pIDisplay,0);
...
-
我快崩溃了
切分一行两列的窗口时,左边的视图类是:(一个对话框资源,里面包含树形控件,同时为该对话框添加了一个类,但基类是CFormView)。...
-
关于BREW资源编辑器,里面加载的汉字的极限?
我用资源编辑器加载汉字,我大量的加载汉字,结果就出现问题。加载几百个汉字,模拟器上不会...
-
BREW里面的动画是怎么播放的?
我用了 高通SDK 下的 BCI软件编辑了个 4帧的动画,保存成.bci文件,然后通过资源管理器加载进去。
ISHEL...
-
急啊,求大侠啦!
各位大侠,小弟初学BREW MP,现在已安装BMP_SDKMP_7.10.12_ZHCN_SETUP,在VS 2010的工具栏里也有BMP的插件,但是为什么插...