Namespaces
Variants
Actions

Create Marquee effect in poplists and menus

Jump to: navigation, search
Article Metadata

Article
Created: eswar_illuri (07 May 2007)
Last edited: hamishwillee (20 Jul 2012)

Starting from S60 2nd Edition, FP2 it is possible to enable the marquee effect (horizontal scrolling of the selected item if its text width does not allow it to be fully displayed) for all the objects derived from CFormattedCellListBoxData.

Header required:

#include <aknlists.h> //CAknSinglePopupMenuStyleListBox 
#include <aknpopup.h> //CAknPopupList

Library needed:

Library avkon.lib eikctl.lib eikcoctl.lib

Source:

void CTestAppUi::HandleCommandL( TInt aCommand )
{
switch( aCommand )
{
case ETestAppCommand1:
{
 
CAknSinglePopupMenuStyleListBox* list = new(ELeave) CAknSinglePopupMenuStyleListBox;
 
CleanupStack::PushL(list);
 
// Create popup list and PUSH it.
 
CAknPopupList* popupList = CAknPopupList::NewL(list, R_AVKON_SOFTKEYS_OK_BACK, AknPopupLayouts::EMenuWindow);
 
CleanupStack::PushL(popupList);
 
// initialize listbox.
 
list->ConstructL(popupList, CEikListBox::ELeftDownInViewRect);
 
list->CreateScrollBarFrameL(ETrue);
 
list->ScrollBarFrame()->SetScrollBarVisibilityL(CEikScrollBarFrame::EOff, CEikScrollBarFrame::EAuto);
 
_LIT(KListItemFormat, "%S");
 
_LIT(KFirstItem, "First item");
 
_LIT(KNextItem, "This is a very long string used for the next item");
 
_LIT(KLastItem, "Last item");
 
// construct listbox item array
 
CDesCArray *itemList = new (ELeave) CDesCArrayFlat(3);
 
TBuf<100> item;
 
// first listbox item
 
item.Format(KListItemFormat, &KFirstItem());
 
itemList->AppendL(item);
 
// next listbox item
 
item.Format(KListItemFormat, &KNextItem());
 
itemList->AppendL(item);
 
// last listbox item
 
item.Format(KListItemFormat, &KLastItem());
 
itemList->AppendL(item);
 
// set items and ownership
 
list->Model()->SetItemTextArray(itemList);
 
list->Model()->SetOwnershipType(ELbmOwnsItemArray);
 
// enable marquee effect for long strings
 
list->ItemDrawer()->FormattedCellData()->EnableMarqueeL( ETrue );
 
// Set title
 
popupList->SetTitleL(_L("Scrollable items"));
 
// Show popup list.
 
CleanupStack::Pop(); // popuplist
 
TBool popupOk = popupList->ExecuteLD();
 
if(popupOk)
 
{
 
// do something
 
}
 
else
 
{
 
// do something else
 
}
 
CleanupStack::PopAndDestroy(); // list
 
}
 
break;
 
default:
 
Panic( ETestAppUi );
 
break;
 
}
 
}
This page was last modified on 20 July 2012, at 10:11.
82 page views in the last 30 days.
Nokia Developer aims to help you create apps and publish them so you can connect with users around the world.

京ICP备05048969号  © Copyright Nokia 2013 All rights reserved