Symbian 系统文件对话框总结
2010-04-20 15:46:00 来源:WEB开发网Symbian的系统文件对话框,有几种。
一种是类似于windows的系统文件对话框,可以打开所有文件,也有文件类型的过滤,没有文件的预览。另外一种是针对多媒体的系统文件对话框,可以扫描系统所有的多媒体文件,可以根据指定类型来分别显示图像、视频等文件。
普通的文件对话框,又有两个,一个是磁盘的对话框,一个是文件浏览的对话框,一般在资源中做如下声明:
//磁盘对话框
RESOURCE MEMORYSELECTIONDIALOG r_memory_selection_dialog
{
locations =
{
LOCATION { root_path = "C:\"; default_folder = "\"; },
LOCATION { root_path = "E:\"; default_folder = "\"; }
};
}
//文件对话框
RESOURCE FILESELECTIONDIALOG r_file_selection_dialog
{
filters =
{
FILTER
{
filter_type = EFilenameFilter;
filter_style = EInclusiveFilter;
filter_data = { "*.jpeg","*.bmp","*.png","*.jpg","*.gif" };
}
};
}
之后就可以在代码中调用了:
AknCommonDialogs::RunSelectDlgLD(fileToOpen, R_MEMORY_SELECTION_DIALOG,R_FILE_SELECTION_DIALOG);
多媒体对话框的调用更简单:
CDesCArrayFlat* fileArray = new (ELeave) CDesCArrayFlat(1);
CleanupStack::PushL(fileArray);
CNbString strFilePath;
if(MGFetch::RunL(*fileArray,EImageFile,EFalse))
{
}
fileArray->Reset();
CleanupStack::PopAndDestroy();
存在的问题:
1,普通系统文件对话框,在某些手机的某些情景模式上,文字颜色和背景一样,导致显示不出来。
2,多媒体文件对话框需要给程序需要ReadUserData能力,并且通过EPOCSTACKSIZE 0x5000来开大堆大小。
3,在Nokia 6220 classic手机上使用多媒体文件对话框选择视频文件会出问题,暂无解决方案:
更多精彩
赞助商链接