WEB开发网
开发学院手机开发Symbian 开发 Symbian多选列表框开发实例 阅读

Symbian多选列表框开发实例

 2010-08-11 12:25:00 来源:WEB开发网   
核心提示:本小节的MulsList示例程序以CAknDoubleStyleListBox类为例,演示了如何动态创建多选列表框以及批量删除列表项,Symbian多选列表框开发实例,(在这里我们还是以MyMarkList示例程序为例,进行改编)1.创建多选列表框多选列表框在创建时必须指定“EAknListBoxMultiselect

本小节的MulsList示例程序以CAknDoubleStyleListBox类为例,演示了如何动态创建多选列表框以及批量删除列表项。(在这里我们还是以MyMarkList示例程序为例,进行改编)

1.创建多选列表框

多选列表框在创建时必须指定“EAknListBoxMultiselectionList”,添加数据时注意使用正确的格式串,添加图标时必须保证表示选中状态的图标和表示未选中状态的图标分别是图标数组的第一个和第二个元素(即图标要相对应即可)。主要修改的代码如下:

void CMyMarkListContainer::ConstructL(const TRect& aRect)

{

CreateWindowL();

// Create listbox

iListBox = new(ELeave)CAknDoubleGraphicStyleListBox;

iListBox->SetContainerWindowL(*this);

iListBox->ConstructL(this,EAknListBoxMultiselectionList);

iListBox->SetListBoxObserver(this);

// Load items

CTextListBoxModel* model = iListBox->Model();

CDesCArray* array = static_cast(model->ItemTextArray());

//_LIT(KItemFormat, "1 Record%d %d");

// "Icon1 Label1 Label2" 如果写“1”表示icons(1)的图标作为最前面的Icon,这里还可以为0

//如果是11.3.4MulsList则使用下面的格式串

_LIT(KItemFormat,"1 Record%d %d 2");

TBuf<32> record;

TInt i = 1;

for (i = 1; i<9 ; i++)

{

record.Format(KItemFormat(), i, 100-i, 1);

array->AppendL(record);

}

// Load icons

CEikonEnv* eikonEnv = CEikonEnv::Static();

TFileName mbmFile = eikonEnv->EikAppUi()->Application()->BitmapStoreName();

CArrayPtr* icons = new(ELeave) CAknIconArray(3);

CleanupStack::PushL(icons);

// icons->AppendL(eikonEnv->CreateIconL(mbmFile, EMbmMymarklistTick, EMbmMymarklistTickmask));

// icons->AppendL(eikonEnv->CreateIconL(mbmFile, EMbmMymarklistStar, EMbmMymarklistStarmask));

1 2  下一页

Tags:Symbian 列表 开发实例

编辑录入:coldstar [复制链接] [打 印]
赞助商链接