×
Namespaces

Variants
Actions

Create Marquee effect in poplists and menus

From Nokia Developer Wiki
Jump to: navigation, search
Article Metadata
Article
Created: eswar_illuri (07 May 2007)
Last edited: hamishwillee (30 May 2013)

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 30 May 2013, at 07:32.
35 page views in the last 30 days.

Was this page helpful?

Your feedback about this content is important. Let us know what you think.

 

Thank you!

We appreciate your feedback.

×