MFC 的 CFileDialog 类确实提供了 GetIFileSaveDialog 方法,该方法用于获取底层的 IFileSaveDialog 接口。以下是相关的信息:
IFileSaveDialog *GetIFileSaveDialog() const;

返回值: 
  •  返回一个 IFileSaveDialog* 指针,指向底层的 IFileSaveDialog 接口。


用法示例:
CFileDialog fileDlg(FALSE, NULL, NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, _T("Text Files (*.txt)|*.txt|All Files (*.*)|*.*||"));

IFileSaveDialog *pFileSaveDialog = fileDlg.GetIFileSaveDialog();
if (pFileSaveDialog != NULL) {
    // 在这里使用 pFileSaveDialog 进行更高级的操作

    // 例如,可以调用 IFileSaveDialog 的其他方法
    // pFileSaveDialog->SomeMethod();

    pFileSaveDialog->Release();  // 不要忘记释放接口指针
}

if (fileDlg.DoModal() == IDOK) {
    // 处理用户的选择
}

这个示例演示了如何使用 GetIFileSaveDialog 方法获取 IFileSaveDialog 接口的指针,以便进行更高级的自定义和操作。确保在使用完接口后调用 Release 方法释放资源。

需要注意的是,这些方法可能只在 Windows Vista 及更高版本的系统上有效,因为这些接口是 Vista 引入的。在较早的 Windows 版本上,可能会缺少这些接口。


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