在MFC中,CFileDialog 类的 m_ofn 是一个公共数据成员,它是一个类型为 OPENFILENAME 的结构体,包含了文件对话框的参数和状态信息。通过访问这个结构体,你可以获取或修改文件对话框的各种属性。

以下是一个示例,演示如何使用 m_ofn 结构体中的一些字段:
CFileDialog fileDlg(TRUE); // TRUE 表示打开文件对话框

// 设置文件对话框的标题
fileDlg.m_ofn.lpstrTitle = _T("选择一个文件");

// 设置文件对话框的默认文件名
fileDlg.m_ofn.lpstrFile = _T("默认文件名.txt");

// 设置文件对话框的过滤器
fileDlg.m_ofn.lpstrFilter = _T("文本文件 (*.txt)|*.txt|所有文件 (*.*)|*.*||");

// 显示文件对话框
if (fileDlg.DoModal() == IDOK)
{
    // 用户选择了文件,可以通过 m_ofn 结构体获取选择的文件信息
    CString selectedFilePath = fileDlg.GetPathName();
    // 其他处理...
}

在这个示例中,我们通过访问 CFileDialog 对象的 m_ofn 结构体,设置了文件对话框的标题、默认文件名和过滤器。然后,通过调用 DoModal 函数显示文件对话框,用户选择文件后,可以通过 GetPathName 函数获取选择的文件路径。

请注意,直接操作 m_ofn 结构体可能会导致不正常的行为,因此请谨慎使用,并确保你理解文件对话框的内部工作机制。


转载请注明出处:http://www.zyzy.cn/article/detail/17765/MFC/CFileDialog