视图命令处理
在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。 |