目录
CFileDialog fname(true, NULL, NULL)
fname.m_ofn.lpstrDefExt = L"asc"
fname.m_ofn.lpstrInitialDir = workdir
fname.m_ofn.Flags = OFN_LONGNAMES | OFN_EXPLORER
fname.m_ofn.lpstrFilter = L"ASC文件名(*.asc)\0*.asc\0\0"
【效果】
- 在MFC对话框中,选择浏览文件时,只显示自己需要的文件类型
- asc仅为示例,可替换为你需要的类型如:txt 、mdb、docx等任意
MFC库中的CFileDialog类来创建一个文件对话框
【代码】
ReadFile.cpp
CFileDialog fname(true, NULL, NULL);
fname.m_ofn.lpstrDefExt = L"asc";
fname.m_ofn.lpstrInitialDir = workdir;
fname.m_ofn.Flags = OFN_LONGNAMES | OFN_EXPLORER;
fname.m_ofn.lpstrFilter = L"ASC文件名(*.asc)\0*.asc\0\0";
在对应的ReadFile.h文件中设置文件目录
CString workdir;
注意:在使用这段代码之前,需要确保workdir变量已经定义并赋值为合适的初始目录
【解释】
CFileDialog fname(true, NULL, NULL)
-
创建一个CFileDialog对象fname
-
第一个参数为TRUE表示该对话框是用于打开文件,为FALSE表示用于保存文件。
-
第二个和第三个参数为默认的文件名和文件扩展名。
fname.m_ofn.lpstrDefExt = L"asc"
-
设置默认的文件扩展名为"asc"
fname.m_ofn.lpstrInitialDir = workdir
-
设置对话框的初始目录为workdir变量所表示的路径。
fname.m_ofn.Flags = OFN_LONGNAMES | OFN_EXPLORER
- 设置对话框的标志,
- OFN_LONGNAMES表示支持长文件名,
- OFN_EXPLORER表示使用资源管理器风格的对话框。
fname.m_ofn.lpstrFilter = L"ASC文件名(*.asc)\0*.asc\0\0"
- 设置文件过滤器,只显示扩展名为"asc"的文件。