WEB开发网
开发学院手机开发Symbian 开发 Symbian OS 控件开发之内置通知对话框 阅读

Symbian OS 控件开发之内置通知对话框

 2010-04-20 15:50:00 来源:WEB开发网   
核心提示:通知对话框:Symbina OS提供了许多内置的通知对话框,可以直接使用,Symbian OS 控件开发之内置通知对话框,如 CAknConfirmationNote,CAknInformationNote,CAknWarningNote,CAknErrorNote,CAknWaitNote,CAknProgressD

通知对话框:

Symbina OS提供了许多内置的通知对话框,可以直接使用。如 CAknConfirmationNote,CAknInformationNote,CAknWarningNote,CAknErrorNote,CAknWaitNote,CAknProgressDialog,CAknGlobalNote。

定义的相关代码如下:

case EDialogCmdAppDlgNote:

{

HBufC* noteText = StringLoader::LoadLC(R_NOTE_TEXT);

CAknInformationNote* note = new(ELeave)CAknInformationNote();

note->ExecuteLD(*noteText);

CleanupStack::PopAndDestroy(noteText);

break;

}

构建系统预定义的通知对话框不需要在资源文件中定义,而是直接调用通知对话框的构造函数即可。

如果要自定义对话框,示例如下:

RESOURCE DIALOG r_confirmationnote_self_define_note

{

flags = EAknConfirmationNoteFlags;

items =

{

DLG_LINE

{

type = EAknCtNote;

id = EConfirmationNote01;

control = AVKON_NOTE

{

layout = EGeneralLayout;

singular_label = Label_Text1;

plural_label = "This is self definition note";

imagefile = "z:\system\apps\dialog\dlg.mbm";

imageid = EMbmDialogIcon1;

imagemask = EMbmDialogIcon1_m;

};

}

};

}

资源文件定义好后,在Dialog的Container文件中构造自定义通知对话框对象。

void CDialogContainer::CosntructL(const TRect& aRect)

{

CreateWindowL();

CAknNoteDialog* note = new(ELeave)CAknNoteDialog(CAknNoteDialog::EConfirmationTone,CAknNoteDialog::EShortTimeout);

note->PrepareLC(R_CONFIRMATIONNOTE_SELF_DEFINE_NOTE);

note->SetTextPluralityL(ETrue);

note->RunLD();

SetRect(aRect);

ActiveL();

}

Tags:Symbian OS 控件

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