您的位置:首页 > 产品设计 > UI/UE

Code snippet for creating column listbox on Symbian/UIQ

2004-12-27 20:59 429 查看
void CMediaStreamListView::CreateColumnListBoxL(const TRect &aRect/*,TInetAddr& aAddress*/,TFileName aMbmFilePath)
{
iColumnListBox=new (ELeave)CEikColumnListBox;
iColumnListBox->ConstructL(this,CEikColumnListBox::ENoExtendedSelection|CEikColumnListBox::ENoFirstLetterMatching);

iColumnListBox->SetRect(aRect);

iColumnListBox->SetListBoxObserver(this);
iColumnListBox->SetContainerWindowL(*this);

iColumnListBox->CreateScrollBarFrameL(ETrue);

iColumnListBox->ScrollBarFrame()->SetScrollBarVisibilityL(CEikScrollBarFrame::EOn,CEikScrollBarFrame::EAuto);

const TUint KCol0=0;
const TUint KCol1=1;
TInt w=Rect().Width();

CColumnListBoxData * colData=iColumnListBox->ItemDrawer()->ColumnData();
CleanupStack::PushL(colData);

//set column width
colData->SetColumnWidthPixelL(KCol0,(w*1)/15);
colData->SetColumnWidthPixelL(KCol1,(2*w));

//set column alignment
colData->SetColumnAlignmentL(KCol0,CGraphicsContext::ECenter);
colData->SetColumnAlignmentL(KCol1,CGraphicsContext::ELeft);

iColumnListBox->SetFocus(ETrue);

CleanupStack::Pop();

iConList=new (ELeave)CArrayPtrFlat<CGulIcon>(10);

iConList->AppendL( iEikonEnv->CreateIconL( aMbmFilePath,
EMbmVideoimagesFolder,
EMbmVideoimagesFolder_mask) );
iConList->AppendL( iEikonEnv->CreateIconL( aMbmFilePath,
EMbmVideoimagesVideo_doc,
EMbmVideoimagesVideo_doc_mask) );

iColumnListBox->ItemDrawer()->ColumnData()->SetIconArray( iConList );

iColumnListBox->ItemDrawer()->ColumnData()->SetGraphicsColumnL(0,ETrue);

iListBoxItems=new CDesC16ArrayFlat(10);

CTextListBoxModel * model=iColumnListBox->Model();

model->SetItemTextArray(iListBoxItems);
model->SetOwnershipType(ELbmOwnsItemArray);

iColumnListBox->View()->CalcBottomItemIndex();
iColumnListBox->HandleItemAdditionL();
iColumnListBox->MakeVisible(ETrue);
SetComponentsToInheritVisibility();

iListBoxItems->Reset();

iColumnListBox->HandleItemAdditionL();

iColumnListBox->SetCurrentItemIndexAndDraw(0);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: