Symbian s60 应用程序框架搭建
2010-03-04 18:58:00 来源:WEB开发网h、处理命令:完成以上步骤后,用户可以通过比如菜单选项之类的交互UI使框架调用HandleCommandL()函数,并传递一个参数 aCommand,它指明了用户所选择的命令,HandleCommandL()会据此来判断不同的命令以分别调度执行。在此处还有一个必须注意的地方是如果要程序的 View实例也回应用户的按键,则必须将View实例通过AppUi的AddToStackL()函数加入到AppUi实例的控件堆栈(control stack)中。
对于上面的调用方式实现说明,个人觉得有必要再将AppUi的几个重要事件处理方法罗列一下:
HandleWsEventL()用于处理窗口服务器传递的事件,它的作用使框架调用下面这些具体事件处理方法;
HandKeyEvent()用于处理用户按键事件(此函数在控件堆栈为空时调用,否则框架将会调用OfferKeyEventL()函数);
HandleForegroundEventL()当应用程序切换到前台或从前台切换到后台时调用该函数,默认的实现可以处理键盘焦点的改变;
HandleSystemEventL()用于处理由窗口服务器生成的事件;
HandleApplicationSpecificEventL()用于处理自己定义的自定义事件。默认的实现可以处理颜色方案改变的通知;
HandleCommandL()用于处理用户选择的菜单项;
HandleSwitchOnEventL()用于处理像设备切换之类的特定切换事件;
HandleMessageReadyL()用于处理窗口服务器产生的消息事件。
在以上各函数处理事件中,除了第一个HandleWsEventL()函数外,其它函数默认都是纯虚函数,需要重载才能用。
通过以上对应用程序框架初始化步骤后,一个完整的框架就创建完毕了
应用程序框架由一套核心类组成,这些类是所有应用程序框架的基础。这些类组成了所有应用程序的架构,并且它们也封装了应用程序和所需OS服务器之间的相互作用。
更多精彩
赞助商链接