大家好,我刚开始学symbian。
在建立我们自己的app时需要建立4层framework类:CAknApplication,CAknDocument,CAknViewAppUi,CAknView。
我的view是继承于CAknView的.现在想给自己的app发自定义event/message:异步执行一些操作。如何做?谢谢。
------解决方案--------------------------------------------------------
在你CAknAppUi派生类中,如
void C×××AppUi::HandleApplicationSpecificEventL(TInt aType, const TWsEvent &aEvent)
{
}
做自定义事件处理!
发送自定义消息如下:
bool PostAppEvent(TInt aType, TInt aData)
{
if(aType <= EEventUser)
return false;
TInt ret,id;
TWsEvent event;
event.SetType(aType);
event.SetTimeNow();
*(TInt*)(event.EventData()) = aData;
//id = CEikonEnv::Static()->WsSession().GetFocusWindowGroup(); //单线程下
id = iRs->GetFocusWindowGroup(); //多线程情况,创建线程RWsSession
if(id == 0)
return false;
ret = iRs->SendEventToWindowGroup(id,event);
return (ret == KErrNone);
}