ListBox的一点心得!

王朝other·作者佚名  2006-01-09
宽屏版  字体: |||超大  

这两天在看SDK EXAMPLE的LISTBOX例子,有一些心得与大家分享,有什么错误请大家指出。

在例子中就用了2个LISTBOX的类,一个是CEikColumnListBox;另一个是CEikFormatte

dCellListBox。它们分别对应SINGLE和DOUBLE两种表现形式。下面用代码来说明一下

代码:

CEikColumnListBox* iColListBox;

CEikFormattedCellListBox* iForListBox;

iColListBox = new (ELeave) CAknSingleStyleListBox();

iForListBox = new (ELeave) CAknDoubleGraphicStyleListBox();

iColListBox->SetContainerWindowL( *this );

iForListBox->SetContainerWindowL( *this );

//从资源文件中生成LISTBOX

TResourceReader reader;

CEikonEnv::Static()->CreateResourceReaderLC( reader, R_TEST_SINGLE);

iColListBox->ConstructFromResourceL( reader );

CEikonEnv::Static()->CreateResourceReaderLC( reader, R_TEST_DOUBLE);

iForListBox->ConstructFromResourceL( reader );

//设置SCROLLBAR

iColListBox->CreateScrollBarFrameL( ETrue );

iColListBox->ScrollBarFrame()->SetScrollBarVisibilityL(

CEikScrollBarFrame::EOff, CEikScrollBarFrame::EAuto );

iForListBox->CreateScrollBarFrameL( ETrue );

iForListBox->ScrollBarFrame()->SetScrollBarVisibilityL(

CEikScrollBarFrame::EOff, CEikScrollBarFrame::EAuto );

//适合窗口大小

iColListBox->SetRect(Rect());

iForListBox->SetRect(Rect());

//激活

iColListBox->ActivateL();

iForListBox->ActivateL();

//资源.RSS

RESOURCE LISTBOX r_text_single

{

// 给定要生成LISTBOX的ITEMS

array_id = r_array_single;

// LISTBOX的标示

flags = EAknListBoxSelectionList;

}

RESOURCE LISTBOX r_text_double

{

array_id = r_array_double;

flags = EAknListBoxSelectionList;

}

//请注意r_array_single和r_array_double的不同。

// \t 就是分割符。

// "0\tAAAAAA\taaaaaa"最前的0表示在*.mbm中序号为0的图片加到LISTBOX的ITEM前

RESOURCE ARRAY r_array_single

{

items =

{

LBUF

{

txt = " \taaaaaa";

},

LBUF

{

txt = " \tbbbbbb";

}

};

}

RESOURCE ARRAY r_array_double

{

items =

{

LBUF

{

txt = "0\tAAAAAA\taaaaaa";

},

LBUF

{

txt = "0\tBBBBBB\tbbbbbb";

}

};

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有