CFileDialog(
BOOL bOpenFileDialog,
LPCTSTR lpszDefExt = NULL,
LPCTSTR lpszFileName = NULL,
DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
LPCTSTR lpszFilter = NULL,
CWnd* pParentWnd = NULL,
DWORD dwSize = 0
);
这个构造函数用于创建文件对话框对象,并设置一些基本的参数。下面是参数的说明:
- bOpenFileDialog:一个 BOOL 类型的参数,用于指定是打开文件对话框 (TRUE) 还是保存文件对话框 (FALSE)。
- lpszDefExt:一个可选的字符串参数,用于指定默认的文件扩展名。
- lpszFileName:一个可选的字符串参数,用于指定默认的文件名。
- dwFlags:一个 DWORD 类型的参数,用于指定对话框的标志。默认情况下,设置了隐藏只读文件 (OFN_HIDEREADONLY) 和覆盖提示 (OFN_OVERWRITEPROMPT)。
- lpszFilter:一个可选的字符串参数,用于指定文件筛选器,例如 "Text Files (*.txt)|*.txt|All Files (*.*)|*.*|"。
- pParentWnd:一个可选的 CWnd* 类型参数,用于指定文件对话框的父窗口。
- dwSize:一个可选的 DWORD 类型参数,用于指定结构的大小。默认值为 0。
以下是一个简单的例子,演示如何使用 CFileDialog 构造函数创建一个打开文件对话框:
#include <afxdlgs.h>
void OpenFileDlgExample(CWnd* pParentWnd) {
// 创建文件对话框对象
CFileDialog fileDlg(TRUE, NULL, NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, _T("Text Files (*.txt)|*.txt|All Files (*.*)|*.*||"), pParentWnd);
// 显示文件对话框
if (fileDlg.DoModal() == IDOK) {
// 获取选定的文件路径
CString filePath = fileDlg.GetPathName();
TRACE(_T("Selected file: %s\n"), filePath);
} else {
TRACE(_T("File dialog canceled.\n"));
}
}
在这个例子中,OpenFileDlgExample 函数创建一个打开文件对话框,设置了文件筛选器,然后显示对话框。如果用户选择了文件并点击了确定按钮,将输出选定的文件路径。如果用户取消对话框,将输出相应的调试信息。请注意,这里使用了 TRACE 宏来输出调试信息,确保你的项目设置中启用了 MFC 的调试支持。
转载请注明出处:http://www.zyzy.cn/article/detail/17737/MFC/CFileDialog