我想使用通用文件对话框打开多个文件,在其构造函数中,使用了OFN_ALLOWMULTISELECT 属性,但是结果对话框一次性只能打开20个文件,而超过20个文件,就没有任何反应,请问是怎么回事????
谢谢!!!!!!!!!!!
谢谢!!!!!!!!!!!
解决方案 »
- 自定义的active X控件在应用程序中无法使用EnableWindow函数
- 关于 语音聊天的问题
- 线程冲突问题,比较基础,求达人给指点一下,急............
- 大家帮忙看看做这个需要什么?急啊!!!!
- 与大家作别,顺便发个广告
- 想把SPI DLL截获的缓冲区发送给界面,该怎么办?
- 高手快来,在线等待,如何改变CView的大小?
- 高手指点!form之间的操作!
- “c/c++” 是什么意思?是说既会c++又会c ?会了c++不就会了c吗?那为什么还这么写?
- 紧急求救!如何改变CTreeCtrl中某几个Item的字体颜色?
- 超级菜鸟问题,UpdateDate()使用失败,请问何解?
- 为什么我一最小化窗口画的图形就没了?
你想啊,当你有大量类似的文件的时候,你会考虑把它们放到一个文件夹下面,而不会和其它的东西混在一起,所以这时你可以用文件夹选择会更加的适合。与其让用户找到那个目录再Ctrl_A还不如直接选择那个目录,你说呢?
char str[1024];
strcpy(str,"");
dlg.m_ofn.nMaxFile=1024;
dlg.m_ofn.lpstrFile=str;
OPENFILENAME ofn;
ZeroMemory(&ofn, sizeof(ofn));
ofn.lStructSize = sizeof(OPENFILENAME);
ofn.hwndOwner = GetSafeHwnd();
ofn.lpstrFile = new TCHAR[MAX_PATH * 500];
ofn.nMaxFile = MAX_PATH * 500;
ZeroMemory(ofn.lpstrFile, ofn.nMaxFile * sizeof(TCHAR));
ofn.lpstrFilter = "All Files\0*.*\0\0";
ofn.nFilterIndex = 0;
ofn.lpstrFileTitle = NULL;
ofn.nMaxFileTitle = 0;
ofn.lpstrInitialDir = szOldDir;
ofn.Flags = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST | OFN_ALLOWMULTISELECT | OFN_EXPLORER | OFN_HIDEREADONLY;
// Display the Open dialog box.
CStringArray arFiles;
if (GetOpenFileName(&ofn))
{
LPCTSTR lpFile = ofn.lpstrFile;
if (lpFile[lstrlen(lpFile) + 1] == 0)//one file
{
lstrcpy(szOldDir, theApp.m_pFileSync->m_pICommon->GetFilePath(ofn.lpstrFile));
arFiles.Add(lpFile);
}
else
{
lstrcpy(szOldDir, ofn.lpstrFile);
lpFile += lstrlen(lpFile) + 1;//first file
while(lpFile[0] != 0)
{
CString strFilePath(ofn.lpstrFile);
strFilePath.TrimRight('\\');
strFilePath += CString("\\") + lpFile;
arFiles.Add(strFilePath);
lpFile += lstrlen(lpFile) + 1;//Next file
}
}
}
//AddFileTo(arFiles); delete[] ofn.lpstrFile;