资源预览内容
第1页 / 共14页
第2页 / 共14页
第3页 / 共14页
第4页 / 共14页
第5页 / 共14页
第6页 / 共14页
第7页 / 共14页
第8页 / 共14页
第9页 / 共14页
第10页 / 共14页
亲,该文档总共14页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
Symbian 中各种提示、输入对话框的使用29756Symbian 中各种提示、输入对话框的使用 1、非阻塞提示框 symbian定义了几个提示类,分别是: confirm类:CAknConfirmationNote info类: CAknInformationNote warning类:CAknWarningNote error类: CAknErrorNote 头文件:aknnotewrappers.h lib:avkon.lib eikcdlg.lib eikctl.lib 使用方法: Code: TBuf buf; buf.Copy(_L(info note); CAknInformationNote* iInfoNote = new (ELeave) CAknInformationNote; iInfoNote-ExecuteLD(buf); 2、阻塞提示框 void CEikonEnv:AlertWin(const TDesC& aMsg); void CEikonEnv:AlertWin(const TDesC& aMsg1,const TDesC& aMsg2); static void CEikonEnv:InfoWinL(const TDesC& aFirstLine,const TDesC& aSecondLine); AlertWin为CEikonEnv类的非静态成员函数,InfoWinL为CEikonEnv类的静态成员函数。 AlertWin只能在ui、view和container中使用,使用方法如下: Code: iEikonEnv-AlertWin(_L(text); InfoWinL可以在任意类中使用,使用方法如下: Code: CEikonEnv:Static()-InfoWinL(_L(note:), _L(text); 为方便使用,常定义宏来使用这类提示框,如: Code: #define DEBUG_DIALOG(x) iEikonEnv-AlertWin(#x); #define DEBUG_DIALOG1(x) CEikonEnv:Static()-InfoWinL(_L(note:), #x); #define DEBUG_DIALOG2(x,y) CEikonEnv:Static()-InfoWinL(#x, #y); 可以这么使用: TBuf buf; buf.Copy(_L(test); DEBUG_DIALOG(buf); DEBUG_DIALOG1(buf); DEBUG_DIALOG2(buf,_L(text); 此类提示框阻塞线程,只有用户按键退出提示框后,后面的程序才能接着运行。 3、进度条对话框 进度条对话框类为: CAknProgressDialog 头文件:aknprogressdialog.h lib: avkon.lib eikcdlg.lib eikctl.lib 使用方法: Code: /初始化进度条 CAknProgressDialog* iProgressDialog; CEikProgressInfo* iProgressInfo; iProgressDialog = new ( ELeave ) CAknProgressDialog( reinterpret_cast ( &iProgressDialog ) ); iProgressDialog-SetCallback( this ); iProgressDialog-PrepareLC( R_RESOURCE_PROGRESS_NOTE ); /从资源文件构造对话框,资源见下面的定义 iProgressInfo = iProgressDialog-GetProgressInfoL(); iProgressInfo-SetFinalValue( aMaxValue ); /设置进度条的最大值(结束值) iProgressDialog-RunLD(); /更新进度条 iProgressInfo-IncrementAndDraw( aStep ); /结束进度条 iProgressDialog-ProcessFinishedL(); delete iProgressDialog; RESOURCE DIALOG R_RESOURCE_PROGRESS_NOTE /进度条对话框资源 flags = EAknProgressNoteFlags; buttons = R_AVKON_SOFTKEYS_CANCEL; items = DLG_LINE type = EAknCtNote; id = EMagicBoxCtrlIdProgressNote; control = AVKON_NOTE layout = EProgressLayout; singular_label = 对话框中显示的文字; plural_label = download; imagefile = AVKON_BMPFILE_NAME; /第二版中 图标文件为 #define AVKON_BMPFILE_NAME z:systemdataavkon.mbm imageid = EMbmAvkonQgn_note_sml; /这两项可更改显示不同图标 imagemask = EMbmAvkonQgn_note_sml_mask; ; ; 4、等待对话框 等待对话框要用到的类: CAknGlobalNote 头文件:aknglobalnote.h lib:aknnotify.lib eiksrv.lib 使用方法: Code: /显示等待对话框 CAknGlobalNote* globalNote = CAknGlobalNote:NewL(); CleanupStack:PushL( globalNote );
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号