一般必須先定義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;
實現左右鍵切換。