采用CFileDialog或者GetOpenFileNameEx,想让用户选择他想打开的文件。
之前程序在WinCE系统上工作没有问题,现在移植到Windows Mobile系统上。
出现的问题是,弹出的选择对话框无法识别zip文件,即使我文件过滤用*.*,
也无法显示出zip压缩文件。但是我用系统的资源管理器,进入到相应文件夹下,
是可以看到这个压缩文件的。请教大家,这个问题如何解决。代码如下:
CString zip_file_path;
CFileDialog file_dialog(TRUE, NULL, NULL, NULL, TEXT("*.zip|*.zip||"));
if (file_dialog.DoModal() != IDOK)
return;
zip_file_path = file_dialog.GetPathName();
或者
OPENFILENAMEEX ofn = {0};
TCHAR szFile[MAX_PATH] = {0};
ofn.lStructSize = sizeof(ofn);
ofn.lpstrFilter = _T("ZIP Files (*.*)/0*.*/0");
ofn.lpstrFile = szFile;
ofn.nMaxFile = sizeof(szFile)/sizeof(szFile[0]);
ofn.lpstrInitialDir = _T("\\DOWNLOAD");
ofn.lpstrTitle = _T("选择数据文件");
ofn.ExFlags = OFN_EXFLAG_THUMBNAILVIEW | OFN_EXFLAG_HIDEDRMPROTECTED;
GetOpenFileNameEx(&ofn);
CString strFileName = ofn.lpstrFile;
------最佳解决方案--------------------------------------------------------
能否分享一下 -_-
------其他解决方案--------------------------------------------------------
把ofn.ExFlags = OFN_EXFLAG_THUMBNAILVIEW
------其他解决方案--------------------------------------------------------
OFN_EXFLAG_HIDEDRMPROTECTED;注释掉也不行
我现在发现.dat、.exe、.txt等文件都显示不出来,只能显示图片.bmp的文件。
我发现采用GetOpenFileNameEx可能不行,MSDN里面说到:This function creates a system-defined dialog box that shows a grid of thumbnails, enabling the user to choose a picture or video.
不清楚为什么CFileDialog也不行。
------其他解决方案--------------------------------------------------------
重写了这个玩意~~
花了不少时间去重写...