listbox with icon

Login to reply to this topic.
Thu, 2007-12-20 09:05
Joined: 2007-07-24
Forum posts: 55

Hi friends,
I want to display a listbox with icon but that icon is not same its different for each
item of the listbox.so that i hv written given following code. but i coudn't get different icon.
i only get same icon for all items.so where is my wrong

void CMyAppContainer::CreateListBoxL()
{
//Delete the list box if already exists.
if ( iListBox )
{
delete iListBox;
iListBox = NULL;
}
// listbox instance
iListBox = new (ELeave) CAknSingleLargeStyleListBox();
iListBox->ConstructL(this, EAknListBoxSelectionList);
iListBox->SetContainerWindowL(*this);

// add scrollbars to listbox
iListBox->CreateScrollBarFrameL(ETrue);
iListBox->ScrollBarFrame()->SetScrollBarVisibilityL( CEikScrollBarFrame::EOn,
CEikScrollBarFrame::EAuto );


//Fill list box with the data
SetupListBox();

iListBox->ActivateL();
iListBox->DrawNow();

iCtrlArray.Append( iListBox );
}

void CMyAppContainer::SetupListBox()
{
CDesCArray *itemList = new (ELeave) CDesCArrayFlat(KGranularityOfArray);

itemList->AppendL(_L("0\tItem01"));
itemList->AppendL(_L("1\tItem02"));
itemList->AppendL(_L("2\tItem03"));
//...

// set items and ownership
iListBox->Model()->SetItemTextArray(itemList);
iListBox->Model()->SetOwnershipType(ELbmOwnsItemArray);
iListBox->SetCurrentItemIndex(0);
iListBox->SetFocus(ETrue);

CArrayPtr* iconList = new (ELeave) CAknIconArray(KGranularityOfArray);
CleanupStack::PushL(iconList);
_LIT( KIconFile,"c:\\listbox_icon.mbm");

icons->AppendL(iEikonEnv->CreateIconL(KIconsFileName, EMbmListbox_iconListicon2,EMbmListbox_iconListicon2_mask));
icons->AppendL( iEikonEnv->CreateIconL( KIconsFileName, EMbmListbox_iconListicon2, EMbmListbox_iconListicon2_mask) );
icons->AppendL( iEikonEnv->CreateIconL( KIconsFileName, EMbmListbox_iconListicon3, EMbmListbox_iconListicon3_mask) );
icons->AppendL( iEikonEnv->CreateIconL( KIconsFileName, EMbmListbox_iconListicon1, EMbmListbox_iconListicon1_mask) );

iListBox->ItemDrawer()->ColumnData()->SetIconArray( iconList );
CleanupStack::Pop(); // iconList
iListBox->HandleItemAdditionL();
}

Regards
mitu


Fri, 2008-01-04 11:01
Joined: 2007-10-16
Forum posts: 65
Re: listbox with icon

Iam mitu,
Iam not sure this will work,but try

itemList->AppendL(_L("1\tItem01"));
itemList->AppendL(_L("1\tItem02"));
itemList->AppendL(_L("2\tItem03"));

  • Login to reply to this topic.