声明View的两个类
class CSMSContactsList: public CAknView
class CSMSContactsContainer:
public CCoeControl,MCoeControlObserver,MEikListBoxObserver
在CSMSContactsContainer包含1个CEikTextListBox* iListBox;
可是我运行后,窗体中的list没有任何key事件,也就是说list改变不了值,很郁闷。请问我怎样才能让list获得keyhand,哪个地方错了呢?
------解决方案--------------------------------------------------------
是能显示List,但是不能通过上下键移动光标吧??
------解决方案--------------------------------------------------------
在Container::OfferKeyEventL里加
if (ilistBox)
{
if ((EEventKeyDown == aType) && (EKeyEnter == aKeyEvent.iScanCode))
{
HandleListBoxEventL(ilistBox, MEikListBoxObserver::EEventEnterKeyPressed);
}
return ilistBox-> OfferKeyEventL( aKeyEvent, aType );
}
------解决方案--------------------------------------------------------
我认为楼上 "HandleListBoxEventL "不需要了
------解决方案--------------------------------------------------------
你有没有注册事件
------解决方案--------------------------------------------------------
在Container::OfferKeyEventL里加
if (ilistBox)
{
if ((EEventKeyDown == aType) && (EKeyEnter == aKeyEvent.iScanCode))
{
HandleListBoxEventL(ilistBox, MEikListBoxObserver::EEventEnterKeyPressed);
}
return ilistBox-> OfferKeyEventL( aKeyEvent, aType );
}
===================================================================
ilistBox-> ofkeyeventL();就ok了。
------解决方案--------------------------------------------------------
http://download.csdn.net/source/180559,看看这个,对你有帮助的。