在 MFC(Microsoft Foundation Classes)中,CDocument 类确实有一个名为 SaveModified 的公共方法。该方法用于保存已修改的文档。

以下是该方法的签名:
BOOL CDocument::SaveModified();

该方法的作用是检查文档是否已经被修改,如果是,它将提示用户保存对文档的修改。如果用户选择保存修改,它将调用 OnSaveDocument 方法来执行实际的保存操作。

该方法通常在应用程序关闭时被框架调用,以确保用户有机会保存对文档的修改。在关闭应用程序或关闭文档窗口时,MFC 将调用 SaveModified 方法,如果文档已修改,将显示保存对话框。

以下是一个简单的示例:
BOOL CMyDocument::SaveModified()
{
    if (IsModified())
    {
        // 文档已修改,显示保存对话框
        switch (AfxMessageBox(_T("Do you want to save changes?"), MB_YESNOCANCEL))
        {
        case IDYES:
            // 用户选择保存
            return OnSaveDocument(m_strPathName);
        case IDNO:
            // 用户选择不保存
            return TRUE;
        case IDCANCEL:
            // 用户选择取消
            return FALSE;
        }
    }

    // 文档未修改,无需保存
    return TRUE;
}

这是一个典型的实现,可以根据具体的应用程序需求进行调整。


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