我习惯了,当我在Microsoft Word中更改文档时,它在文件名附近得到一个*
,应用程序自动知道我应该保存文档。
如何在MFC中复制此行为并通知我的Document类这些更改,以便应用程序自动知道文档需要保存?
答案 0 :(得分:5)
要通知文档它已被修改,您应该使用CDocument::SetModified
方法,并查询它是否已被修改,您可以使用CDocument::IsModified
。对于视图,在文档更新时调用CView::OnUpdate
。
答案 1 :(得分:2)
有点晚了,但我不得不做同样的事情。
设置文档的修改标志后,请更改标题。这是一个例子: m_pDoc-> SetModifiedFlag(bChanged);
CString stTitle = m_pDoc->GetTitle();
if (stTitle.Left(2) == _T(" *"))) {
stTitle = stTitle.Left(stTitle.GetLength() - 2);
}
if (bChanged) {
stTitle += _T(" *");
m_pDoc->SetTitle(stTitle);
}
else {
m_pDoc->SetTitle(stTitle);
}