首 页 | 新 闻 | Symbian | Android| Windows Mobile | J2ME | 下载中心 | 游戏策划招聘与求职 | 购书指南 | 视频教程
您现在的位置: 开发视界 >> Symbian >> 绘图 >> 文章正文
视图命令处理与视图的切换
作者:佚名    文章来源:转载    更新时间:2007-5-28 17:18:14
视图命令处理

    在HandleCommandL()方法中向当前活动视图传递各种命令。这里处理的都是一些由功能键生成的命令,以及某个弹出式菜单生成的命令。如:
void CMyAppView1::HandleCommandL(TInt aCommand)
{
switch (aCommand)
{
case EMyAppCmdSwitchView:
AppUi()->ActivateLocalViewL(KView2Id);
break;
case EAknSoftkeyOk:
{
// Do something.
break;
}
case EAknSoftkeyBack:
{
((MEikCommandObserver*)AppUi())->
ProcessCommandL(EEikCmdExit);
break;
}
default:
AppUi()->HandleCommandL(aCommand);
break;
}
}
各种全局定义命令应该在AppUI的HandleCommandL()方法中处理。

本地视图切换

本地视图的切换是通过指定被切换的视图的UID实现的。// Now switch the view to view 2.
iAvkonViewAppUi->ActivateLocalViewL(TUid::Uid(2));
每个视图都可能有自己的菜单系统,它们在AVKON_VIEW资源结构中定义。然而,如果要使用该应用程序的菜单系统,在切换前其内容必须针对新视图先行更新。
// Switch to a new menu system for the new view.
iEikonEnv->AppUiFactory()->MenuBar()-> SetMenuTitleResourceI(R_MY_VIEW_ARCH_APP_VIEW2_MENU);
// Now switch the view to view 2

远程视图切换

调用CCoeAppUi::ActivateViewL()函数,给出包含目标应用程序UID和目标视图UID的TvwsViewId。
相关文章:
Symbian DBMS中的检索
MMI of UIQ (二)
MMI of UIQ (一)
四个主要的应用软件框架类
s60多视图删除其中的一个视图
单视图与多视图应用的问题
S60平台: 使用DBMS APIs —使用行集和游标(1)
Avkon视图切换架构之调试小结