一般必须先定义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;
实现左右键切换。
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;
实现左右键切换。
本文介绍了如何在Symbian系统中使用StatusPane获取TitlePane和Navigation Control,并详细阐述了通过TabGroup实现在不同视图间利用左键和右键进行切换的方法。
2457

被折叠的 条评论
为什么被折叠?



