以下是一个简单的例子:
BOOL YourDocumentClass::SaveModified()
{
if (IsModified())
{
// 文档已经被修改,询问用户是否保存
CString strPrompt;
strPrompt.Format(_T("是否保存对文档 \"%s\" 的更改?"), GetTitle());
int nResult = AfxMessageBox(strPrompt, MB_YESNOCANCEL | MB_ICONEXCLAMATION);
if (nResult == IDCANCEL)
{
// 用户选择取消关闭
return FALSE;
}
else if (nResult == IDYES)
{
// 用户选择保存修改
return Save();
}
// 用户选择不保存修改
}
// 文档没有被修改或用户选择不保存修改
return TRUE;
}
在这个例子中,SaveModified 方法首先检查文档是否已被修改(IsModified()),如果是,则询问用户是否要保存修改。用户的选择将决定返回值,TRUE 表示可以继续关闭文档,FALSE 表示取消关闭或者用户选择保存并且保存操作成功。
请注意,这只是一个通用的示例,具体的实现可能取决于你的应用程序的要求和逻辑。
转载请注明出处:http://www.zyzy.cn/article/detail/17531/MFC/CDocument