Symbian 对话框用法
2010-03-05 06:11:00 来源:WEB开发网CEikNumberEditor* editor1 = (CEikNumberEditor*) Control(ESingleDlgId);
// Get the Number2 editor control
CEikNumberEditor* editor2 = (CEikNumberEditor*) Control(ESingleDlg2Id);
// Check the validity of the values in the two editors
if ( editor1->Number() > editor2->Number())
{
// Show an error note
CAknErrorNote* note = new (ELeave) CAknErrorNote;
note->ExecuteLD(_L("Number1 should be less than number2"));
return EFalse;
}
return ETrue;
}
对话框使用
使用对话框包括两步:
1. 使用new(ELeave)或NewL()创建对话框类实例 //至于这些New的不同可以参看很多
2. 调用ExecuteLD(TInt aResourceId)。它将调用PrepareLC(TInt aResourceId)和RunLD()。
有时候对话框类实现了RunDlgLD()方法,我们可以直接调用它来初始化和运行对话框。
询问对话框
继承自CAknQueryDialog,询问对话框有两种:Local和Global。Local只在该应用内可显示;全局
的在任何时候都会显示,包括将该应用切换到后台。
本地询问对话框
分为三类:1. 确认对话框 2. 数据请求对话框 3. 列表请求对话框 4. 多选列表请求框
1. 确认对话框
RESOURCE DIALOG r_aknexquery_confirmation_query
{
flags = EGeneralQueryFlags;
buttons = R_AVKON_SOFTKEYS_YES_NO;
items =
{
DLG_LINE
{
type = EAknCtQuery;
id = EGeneralQuery;
control = AVKON_CONFIRMATION_QUERY
{
layout = EConfirmationQueryLayout; //设置布局
label = qtn_aknexquery_con_label_text;
bmpfile = AKNEXQUERY_BMPFILE_NAME;
bmpid = EMbmAknexqueryLshellicon;
bmpmask = AKNEXQUERY_BITMAP_MASK_FLAG;
};
}
};
}
TBuf<256> msg(_L("Delete note?"));
CAknQueryDialog* dlg = CAknQueryDialog::NewL( );
更多精彩
赞助商链接