TInt CMainView::PopupMenu(TDes& aTxt,TInt aDef,CDesCArray* itemList) { _LIT(KListItemFormat, "%S"); CAknSinglePopupMenuStyleListBox* list = new(ELeave) CAknSinglePopupMenuStyleListBox; CleanupStack::PushL(list); CAknPopupList* popupList = CAknPopupList::NewL(list, R_AVKON_SOFTKEYS_OK_BACK, AknPopupLayouts::EMenuWindow); CleanupStack::PushL(popupList); list->ConstructL(popupList, CEikListBox::ELeftDownInViewRect); list->CreateScrollBarFrameL(ETrue); list->ScrollBarFrame()->SetScrollBarVisibilityL(CEikScrollBarFrame::EOff, CEikScrollBarFrame::EAuto); list->Model()->SetItemTextArray(itemList); list->Model()->SetOwnershipType(ELbmOwnsItemArray); list->ItemDrawer()->FormattedCellData()->EnableMarqueeL( ETrue ); popupList->SetTitleL(aTxt); CleanupStack::Pop(); // popuplist CleanupStack::Pop(); //list TBool popupOk = popupList->ExecuteLD(); if (!popupOk) { return -1; } else { TInt current=list->CurrentItemIndex(); return current; } }