一个view在接受事件的典型调用顺序
1.DoActivateL()
2.HandleForegroundEventL(ETrue)
3.HandleForegroundEventL(EFalse)
4.DoDeactivate()
[View体系结构]
使用view的应用程序每次只能有一个活动的view,当另一个view要激活时,当前的view就要被释放。当一个view被释
放后,所以的菜单,对话框以及包含的应用都将被关闭。
每个view都被当作一个应用UI对待,它必须提供一个Id()函数以便为系统所标识,它也要重载DoActivateL(),
DoDeactivate(),HandleForegroundEventL(),HandlCommandL()和HandleStatusPaneSizeChange()函数以处理各种事
件。
下面一个个的看
DoActivateL()
当客户端要求你的view激活时,它就要被调用。client可能发送消息参数给你的view,如果你的view已经是激活了,
那只有当client明确要求再次激活时才被调用,所以你的DoActivateL()实现得应付这种情况,ie已经激活了view。
如果你不打算显示view或者你的view不想处理任何消息,那一个简单的检查和return即可。
DoDeactive()
这个函数当你的view被注销时调用,view被注销时通常有两种情况:一是你的应用程序要退出了,二是相同程序里另
一个view要被激活。这个函数很重要,咱们可不能忘记了:)
HandleForegroundEventL()
这个函数主要是在你的view被激活时调用(即在DoActivateL()和DoDeactivate()之间被调用)。当你的view在前台
时,它将是HanleForegroundEvent(ETrue),当你的view移出前台时,它将为HandleForegroundEvent(EFalse),只有
当前台状态确实改变时这个函数才会被调用。
HandleCommandL()
当view菜单产生一个命令后本函数将被调用。
HandleStatusPaneSizeChange()
当client的尺寸由于status pane而改变时,本函数被调用了就。