问题标签 [cfiledialog]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
visual-c++ - 使用 CFileDialog 打开文件时出错
我收到一个错误:
在以下代码中:
请帮我。这段代码在一个项目中运行良好,但是当我将它复制到其他项目时,它显示了上面的错误。
c++ - MFC 扩展 CFileDialog
我需要在 MFC 中构建一个控件来显示某些文件的预览。这些文件是 3D 模型,所以我需要使用 OpenGL 来绘制它们并让用户与之交互(平移、缩放等)。
我想扩展 CFileDialog 类,因为再次在文件系统中进行导航会浪费时间,而且结果肯定会不一样。
我设法修改了 CFileDialog 资源,添加了我的子对话框:
但是孩子被附加在底部,而我想在右侧看到我的预览。
那可能吗?
fopen - CFileDialog 构造函数无法发现 TRUE 和 fopen(str,"r") 错误
CFileDialog
我在以下方法中调用构造函数:
根据CFileDialog
构造函数中的参数,第一个参数应该是BOOL
,但我的编译器认为它是int
而不是BOOL
. 你能告诉我为什么吗?
此外,在代码中,当我使用 时fopen(str,"r")
,错误是没有从CSring to const char*
. 感谢您的讨论。
代码是:
c++ - CFileDialog 截断提供的文件名
一旦打开它,我就会有 CFileDialog 的奇怪行为。提供的文件名看起来已被截断,因此只有最后 n 个字符可见:
图片 http://ves.fijmovi.com/cpp/CFileDialog_1.jpg
只要我单击名称空间,我就可以看到整个文件名:
图片 http://ves.fijmovi.com/cpp/CFileDialog_2.jpg
所以它并没有真正被截断,只是显示字符串的开始位置不是从头开始的。在这种情况下,完整的文件名是 36 个字符长,我在打开对话框时得到的部分字符串是从第 21 个字符到最后一个字符。我用其他一些更长的文件进行了测试,它们也出现了截断,但不是从第 21 个字符开始,而是从其他一些字符开始。我认为这没有任何意义。
这段代码已经有好几年了:
我应该为 m_ofn 使用一些特殊的标志吗?我已经阅读了关于 OPENFILENAME 结构的 MSN 文章,但我认为没有任何值得添加到现有标志的内容。
对可能发生的事情有任何想法吗?
c++ - CFileDialog 实例化的问题
我遵循 的定义CFileDialog
,但 VS2013 仍然告诉我没有可用于我传入的参数的构造函数。
我的代码:
产生的错误:
1 IntelliSense:没有构造函数“CFileDialog::CFileDialog”的实例与参数列表参数类型匹配:(int, const char [5], int, int, char [46]) c:\Users\Jonathan\Documents\Visual Studio 2013\项目\SDI\SDI\MainFrm.cpp 131 21 SDI
CFileDialog
以及供参考的构造函数:
有什么问题?
c++ - C ++ MFC CFileDialog不会保存
我创建了一个带有保存文件的菜单选项的 MFC 程序。当我单击它时,它会显示 CFileDialog,我可以选择要保存文件的位置。当我在对话框中单击保存时,它会关闭对话框,但之后它什么也不做。而且它没有保存我的文件。我究竟做错了什么?
这是代码
布尔结果纯粹是为了检查是否没有问题/错误。
c++ - CFileDialog 以空名称保存文件
我有一个 CFileDialog,我试图让它在调用 DoModal() 函数后接受一个空值。我玩过 ofn 标志,但似乎无法让对话框在此过程中向前移动,除非保存框中有有效的条目。我不一定想要允许无效的文件名,我只想要一个空值。我曾考虑在对话框打开时设置一个默认名称,但在 OPENFILENAME 结构中找不到可以帮助解决此问题的标志/值。
c++ - 从无模式对话框启动时 CFileDialog 冻结
我正在尝试调用 CFileDialog 以允许用户选择文件。
我的程序是一个 MFC 应用程序,我使用的是 VS2005。
这是我的问题:
我有创建无模式对话框的主视图。在这个对话框中,我有一个菜单项,可以进行简单的 CFileDialog 调用:
但是程序总是挂在 DoModal 上。该程序不响应命令,任务管理器说它已停止响应。
其他有趣的信息:
- 这仅在 Windows 8 上观察到,Windows 7 机器似乎不受影响。
- 我创建了一个具有相同基本 View->modeless dialog->CFileDialog 方案的新项目,它工作得很好。
- 当我调用 MessageBox 时,它出现在对话框后面(我必须按 alt 才能将它放在前面),但程序仍然响应。
- 如果我在主视图中进行相同的 CFileDialog 调用,它会毫无问题地弹出。
- 另一个可能与此相关或无关的烦人问题:当 CFileDialog 调用正常工作时(在 Win 7 上),在浏览窗口中选择“计算机”会显示一个空白屏幕(其他一切正常)。
我能找到的最接近的问题是:为什么 CFileDialog::DoModal() 挂起? 但是,我不使用线程(至少我 95% 确定我不使用,这不仅仅是我的项目)。我的项目会自动线程化吗?如果是这样,我如何确保这不会给我带来问题?
c++ - 从 CFileDialog 获取文件大小
我是 Visual Studio C++ 的新手。我正在使用 CFileDialog 从用户输入中获取文件名和文件路径。现在我想使用正在加载过程的进度控制,用户必须等待取决于您的输入文件大小。现在我通过使用 CFileDialog 获得了文件名和文件路径,但我不知道如何获取用户输入文件的大小。
我正在使用下面的方法,它总是返回零。
如果您有更好的解决方案来获取文件大小,请建议我。
非常感谢你。
c++ - MFC CFileDialog 在用户上次运行时选择的位置打开
我有一个 MFC C++ 应用程序,它有一个 CFileDialog。我调用它的 DoModal 函数来打开一个文件浏览窗口。我设置了 lpstrInitialDir,告诉它第一次在哪里打开对话框
问题是我希望我的程序记住用户选择。下次用户运行我的应用程序时,我希望我的 DoModal 文件浏览对话框在用户上次使用时从中选择文件的位置打开。
我该怎么做?
我看到有 LastVisitedMRU 注册表项,但是我找不到任何示例如何正确使用 CFileDialog.DoModal
非常感谢!