CFileDialog 通配符举例说明
时间: 2023-08-22 09:11:10 浏览: 48
CFileDialog 的通配符用于指定搜索的文件类型,可以使用 "*" 和 "?" 来匹配文件名。下面是一些通配符的举例说明:
- "*.txt":搜索具有 .txt 扩展名的文本文件;
- "*.doc;*.docx":搜索具有 .doc 或 .docx 扩展名的 Word 文档;
- "*.bmp;*.jpg;*.png":搜索具有 .bmp、.jpg 或 .png 扩展名的图片文件;
- "*.*":搜索所有文件。
注意,通配符可以组合使用,以便搜索多种类型的文件。例如,设置过滤器为 "*.txt;*.doc;*.docx" 将同时搜索具有 .txt、.doc 或 .docx 扩展名的文件。
相关问题
CFileDialog
CFileDialog是一个MFC类,用于封装文件打开或文件保存操作的常见对话框。它可以用于选择文件并获取文件的路径。\[1\]\[2\]你可以使用CFileDialog类的构造函数来指定对话框的参数,例如设置对话框的标题、文件类型过滤器等。\[1\]\[2\]当用户选择了文件后,你可以使用GetPathName()函数来获取选中文件的路径。\[1\]\[2\]更多关于CFileDialog类的详细信息可以参考Windows官方文档。\[3\]
#### 引用[.reference_title]
- *1* *2* [CFileDialog简单使用](https://blog.csdn.net/u012633319/article/details/81280331)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
- *3* [打怪升级之CFileDialog类介绍](https://blog.csdn.net/Blanchet/article/details/129436605)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
CFileDialog 定制
CFileDialog是MFC中的一个类,用于打开和保存文件对话框。通过继承CFileDialog类,我们可以定制自己的文件对话框,以满足特定的需求。下面是一个简单的CFileDialog定制的例子:
```cpp
class CMyFileDialog : public CFileDialog
{
public:
CMyFileDialog(BOOL bOpenFileDialog, LPCTSTR lpszDefExt = NULL,
LPCTSTR lpszFileName = NULL, DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
LPCTSTR lpszFilter = NULL, CWnd* pParentWnd = NULL)
: CFileDialog(bOpenFileDialog, lpszDefExt, lpszFileName, dwFlags, lpszFilter, pParentWnd)
{
}
virtual BOOL OnFileNameOK()
{
CString strFileName = GetPathName();
CString strExt = GetFileExt();
if (strExt.CompareNoCase(_T("txt")) != 0)
{
AfxMessageBox(_T("只能选择txt文件!"));
return FALSE;
}
return CFileDialog::OnFileNameOK();
}
};
```
在这个例子中,我们继承了CFileDialog类,并重载了OnFileNameOK函数。在OnFileNameOK函数中,我们可以对用户选择的文件进行一些额外的检查,例如文件类型是否正确等。如果检查失败,我们可以弹出一个消息框提示用户,并返回FALSE,阻止文件对话框关闭。如果检查成功,我们可以调用CFileDialog::OnFileNameOK函数,让文件对话框正常关闭。
使用我们自定义的CMyFileDialog类,可以像使用CFileDialog一样打开文件对话框:
```cpp
CMyFileDialog dlg(TRUE, _T("txt"), NULL, OFN_FILEMUSTEXIST | OFN_HIDEREADONLY,
_T("Text Files (*.txt)|*.txt|All Files (*.*)|*.*||"));
if (dlg.DoModal() == IDOK)
{
CString strFileName = dlg.GetPathName();
// ...
}
```