如何在保存自定义IFileDialog - C ++时阻止覆盖提示

时间:2013-06-09 05:16:17

标签: windows visual-c++ mfc save-dialog

当用户输入我的自定义IFileDialog中已存在的文件名时,我不想显示任何覆盖提示。

我已经抛出了IFileDialog::SetOptions方法,但它解决了我的问题。

FOS_OVERWRITEPROMPT (0x00000002):保存文件时,在覆盖同名的现有文件之前提示。这是“保存”对话框的默认值。

是否有任何旗帜可以帮助我摆脱这个问题.. ?? 或者是否有任何其他方法可以在保存文件时阻止覆盖提示。

请帮帮我。非常感谢提前.. :)

1 个答案:

答案 0 :(得分:0)

    HRESULT hr;
    DWORD dwFlags = 0;

//pDlg is your IFileSaveDialog
    hr = pDlg->GetOptions ( &dwFlags );
    if( dwFlags & FOS_OVERWRITEPROMPT )
    {
        dwFlags = dwFlags & ( ~FOS_OVERWRITEPROMPT);
        hr = pDlg->SetOptions ( dwFlags );
    }