在APPUI以外建立NAVI_PANE_TAB的控制

本文介绍了如何在Symbian系统中使用StatusPane获取TitlePane和Navigation Control,并详细阐述了通过TabGroup实现在不同视图间利用左键和右键进行切换的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一般必须先定义StatusPane:

CEikStatusPane *sp = StatusPane();

iTitlePane = static_cast<CAknTitlePane*>
( sp->ControlL( TUid::Uid( EEikStatusPaneUidTitle) ) ) ;

iNaviPane = static_cast<CAknNavigationControlContainer*>
( sp->ControlL( TUid::Uid( EEikStatusPaneUidNavi ) ) );

iDecoratedTabGroup = iNaviPane->ResourceDecorator();
if ( iDecoratedTabGroup )
{
iTabGroup = static_cast<CAknTabGroup*> ( iDecoratedTabGroup->
DecoratedControl() );
}

然后在HandleKeyEventL中:

iTabGroup = static_cast<CAknTabGroup*> ( iDecoratedTabGroup->
DecoratedControl() );
if ( iTabGroup == NULL )
{
return EKeyWasNotConsumed;
}

TInt active = iTabGroup->ActiveTabIndex();
TInt count = iTabGroup->TabCount();
建立索引和记数

之后便可以通过:
case EKeyLeftArrow:
if ( active > 0 )
{
active--;
iTabGroup->SetActiveTabByIndex( active );
ActivateLocalViewL( TUid::Uid( iTabGroup->
TabIdFromIndex( active ) ) );
}
break;
case EKeyRightArrow:
if( ( active + 1 ) < count )
{
active++;
iTabGroup->SetActiveTabByIndex( active );
ActivateLocalViewL( TUid::Uid( iTabGroup->
TabIdFromIndex( active ) ) );
}
break;
实现左右键切换。
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值