多行对话框

读取用户的接入点,弹出一个多行的对话框。

 

void CLoginContainer::GetAPNLAndDialog()

{

__UHEAP_MARK;

CDesCArray* iNameArray = new (ELeave) CDesCArrayFlat(3);

CleanupStack::PushL(iNameArray);

CCommsDatabase* db = CCommsDatabase::NewL(EDatabaseTypeIAP);

CleanupStack::PushL(db);

//get apn's name

TBuf<32> name;

TBuf<32> apn;

iNetID.Reset();

iNetApn.Reset();

TUint32 id = 0;

{

CCommsDbTableView* view = db->OpenTableLC(TPtrC(OUTGOING_WCDMA));

TInt err = view->GotoFirstRecord();

while (err == KErrNone)

{

view->ReadUintL(TPtrC(COMMDB_ID), id); //�����ID

view->ReadTextL(TPtrC(COMMDB_NAME), name);//�������

view->ReadTextL(TPtrC(GPRS_APN), apn); //��������,����ͨ������ֶ��жϽ������CMWAP����CMNET

apn.LowerCase();

iNameArray->AppendL(name);

iNetID.Append(id);

iNetApn.Append(apn);

err = view->GotoNextRecord();

}

CleanupStack::PopAndDestroy(view);

}

CleanupStack::PopAndDestroy(db);

ShowQueryDialogL(NULL, iNameArray, NULL);

CleanupStack::PopAndDestroy(iNameArray);

__UHEAP_MARKEND;

}

 

TInt CLoginContainer::ShowQueryDialogL(CArrayPtr<CGulIcon>* aIcons,

CDesCArray* aSelectArrray, CArrayFixFlat<TInt>* aSelectedItems)

{

CAknListQueryDialog* dlg = new (ELeave) CAknListQueryDialog(&index);

dlg->PrepareLC(R_SELECTION_QUERY);

dlg->SetItemTextArray(aSelectArrray);

for (TInt i = 0; i < aSelectArrray->Count(); i++)

{

ilog->WriteLineEnd();

ilog ->WriteTDesC16LAndToUtf8L(aSelectArrray->operator [](i));

}

dlg->SetOwnershipType(ELbmDoesNotOwnItemArray);

if (dlg->RunLD())

{

}

}

 

 

RESOURCE AVKON_LIST_QUERY r_selection_query

{

flags = EGeneralQueryFlags;

softkeys = R_AVKON_SOFTKEYS_OK_CANCEL;

items =

{

AVKON_LIST_QUERY_DLG_LINE

{

control = AVKON_LIST_QUERY_CONTROL

{

listtype = EAknCtSinglePopupMenuListBox;

listbox = AVKON_LIST_QUERY_LIST

{

};

heading = "test";

};

}

};

}

 

这个对话框上还遇到了一个问题,执行什么对话框都报KERN-EXEC 3的错误,由于工程中有多个hrh文件,后来整理到一个就好了。估计是哪个值重复了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值