進度條對話方塊類為:CAknProgressDialog
標頭檔:aknprogressdialog.h
lib: avkon.lib eikcdlg.lib eikctl.lib
使用方法:
Code:
//初始化進度條
CAknProgressDialog* iProgressDialog;
CEikProgressInfo* iProgressInfo;
iProgressDialog = new ( ELeave ) CAknProgressDialog( reinterpret_cast
<CEikDialog**>
( &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://system//data//avkon.mbm"
imageid = EMbmAvkonQgn_note_sml; //這兩項可更改顯示不同表徵圖
imagemask = EMbmAvkonQgn_note_sml_mask;
};
}
};
}