MFC如何更改通知文档(并显示*)

时间:2015-05-26 18:17:03

标签: c++ mfc

我习惯了,当我在Microsoft Word中更改文档时,它在文件名附近得到一个*,应用程序自动知道我应该保存文档。

如何在MFC中复制此行为并通知我的Document类这些更改,以便应用程序自动知道文档需要保存?

2 个答案:

答案 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);
        }