文档被修改后如何在文档名前面加上*标记?
完成要求的功能就需要重载CDocument的虚函数SetModifiedFlag(),下面是代码范例:
void CTest2Doc::SetModifiedFlag(BOOL bModified)
{
CString strTitle = GetTitle();
CString strDirtyFlag = " *"; //在*前面要加一个空格
if (!IsModified() && bModified)
{
SetTitle(strTitle + strDirtyFlag);
}
else if ( IsModified() && !bModified )
{
int nTitleLength = strTitle.GetLength();
int nDirtyLength = strDirtyFlag.GetLength();
SetTitle( strTitle.Left(nTitleLength - nDirtyLength) );
}
UpdateFrameCounts();
CDocument::SetModifiedFlag(bModified);
}
|