- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
使用 CFileDialog
类,我选择了放置在一个长路径目录中的多个文件。当我只选择一个或两个文件时就可以了;但是当我同时选择三个文件时,它只返回第三个文件路径的一部分。 (看起来可能限制为 512 个字符)我该如何解决这个问题?
最佳答案
MFC 使用大小为 _MAX_PATH
的默认缓冲区,这就是您看到该行为的原因。查看 dlgfile.cpp
以了解 CFileDialog::CFileDialog
的实现,您将看到 m_ofn.lpstrFile
和 m_ofn.nMaxFile
正在设置。
如果需要,您可以指定更大的缓冲区。在调用 DoModal
之前,您可以访问 CFileDialog::m_pOFN
成员以获取指向 OPENFILENAME
的指针,该 CFileDialog
将直接使用和更新它或调用 CFileDialog::GetOFN
以获取对结构的引用并更新它。
无论哪种方式,您都会发现这很有帮助:http://msdn.microsoft.com/en-US/library/ms646839(v=vs.80).aspx
关于c++ - 为什么 CFileDialog::GetNextPathName 在文件路径很长时不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14903496/
当我尝试实例化 CFileDialog 对象时,它会显示文件夹和文件。如何创建一个单独浏览文件夹的CFileDialog? 最佳答案 这真的很简单。 使用CFolderPickerDialog它派生自
我正在尝试制作一个“另存为”对话框,其中包含一个事件,该事件将根据我们从过滤器组合框中选择的文件类型更改默认路径。问题是,我看到的所有示例都在结果 IDOK 或 IDCANCEL 上执行代码,而我需要
我目前正在维护一个旧的 MFC 应用程序,但在打开文件对话框时遇到问题。该程序有多个不同的部分,用户可以选择要加载的文件,例如声音、视频和其他程序特定格式。 打开对话框应始终在“特定”文件夹中打开,具
CFileDialog 打开后我有奇怪的行为。提供的文件名看起来已被截断,因此只有最后 n 个字符可见: image http://ves.fijmovi.com/cpp/CFileDialog_1.
我正在遵循 CFileDialog 的定义,但 VS2013 仍然告诉我没有可用于我传入的参数的构造函数。 我的代码: CFile theFile; char strFilter[] = { "TXT
我正在使用 CFileDialog,我设置了如下所示的初始路径,如代码所示。它不工作。如果我犯了错误,请纠正我。 CFileDialog* filedlg = new CFileDialog(T
我在基于对话框的 MFC 应用程序中添加了一个“打开文件”对话框。现在,在通过按下“打开”或“取消”按钮关闭打开的文件对话框后整整一分钟(!),我的应用程序崩溃了。当它崩溃时,输出中会发生以下情况:
在 VC++ 6.0, MFC 中我想选择多个文件 CFileDialog opendialog(true); // opens the dialog for open; opendialog.m_o
如果有一种方法可以自定义 CFileDialog 错误消息,那就太好了。 例如,在文件名编辑框中输入无效的驱动器会导致如下错误消息。 我想在这里显示一个不同的错误。是否有可能没有子类化 CFileDi
如何在 CFileDialog 上添加一个简单的复选框? MFC 似乎有一个函数 CFileDialog::AddCheckButton,不幸的是在 WTL 中没有实现.. 这些缺失的功能(我发现这些
大家好,我在 MFC 中维护这段代码 char szFilters[]= "Text Files(*.txt)|*.txt|Register File Definition Files(*.rgf)
当我要打开的文件正在/正在被其他进程或应用程序使用或打开时,我需要捕获异常。我正在使用 MFC 的 CFileDialog 的 DoModal 打开选定文件的列表。但是,当我在“打开文件”对话框中选择
我创建了一个 MFC 程序,其中包含用于保存文件的菜单选项。当我单击它时,它会显示 CFileDialog,我可以选择要保存文件的位置。当我在对话框中单击保存时,它会关闭对话框,但之后它什么也不做。而
我有一个 MFC C++ 应用程序,它有一个 CFileDialog。我调用它的 DoModal 函数来打开一个文件浏览窗口。我设置了 lpstrInitialDir,告诉它第一次打开对话框的位置
使用 CFileDialog 作为文件打开,我需要允许用户仅选择显示在对话框列表区域中的文件,例如通过单击它。我们不希望用户能够在文件名控件中键入名称。 OPENFILENAME (OFN) 结构有几
我需要在 MFC 中构建一个控件来显示某些文件的预览。这些文件是 3D 模型,所以我需要使用 OpenGL 来绘制它们并让用户与之交互(平移、缩放等)。 我想扩展 CFileDialog 类,因为再次
我正在使用以下代码通过 UI 检索多个文件选择: CFileDialog fd(TRUE, NULL, NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT | O
我的程序中有以下几行 C++ 代码 CFileDialog dialog(true); CString strFileName=L""; INT_PTR nResult = dialog.DoMo
每当我在调试器下运行我的应用程序时,我在使用 CFileDialog 浏览要打开的文件时遇到以下异常 First-chance exception at 0x769db9bc in MyApp.exe
我正在使用从 CFileDialog 扩展而来的自定义文件对话框。问题是,OninitDialog() 不会在 DoModal() 之前被调用。 我在 OninitDialog() 中自定义了 CFi
我是一名优秀的程序员,十分优秀!