1.文档修改后,关闭时需要保存,主要用到2个函数,在需要更改文档内容的函数里调用SetModifiedFlag(TRUE),另一个就是SaveModified()函数,简单的例子:
BOOL CMFC_Doc::SaveModified() { // TODO: 在此添加专用代码和/或调用基类 return CDocument::SaveModified(); } void CMFC_Doc::SetColor() { m_color=RGB(0,0,0); SetModifiedFlag(TRUE); UpdateAllViews(NULL); } ///////////////////////////////////////////////////////// void CMFC_View::OnLButtonDown(UINT nFlags, CPoint pos) { CMFC_Doc *pDoc=GetDocument(); pDoc->SetColor(); }
2.滚动条滚动时防止重绘造成闪烁,可以用GetClipBox函数只重绘显示的区域,该函数的用法:
CRect rect; CClientDC dc(this); OnPrepareDC(&dc); //在非OnDraw()函数中需要加上这一句 dc.GetClipBox(&rect); CString str; str.Format(_T("顶部=%d,底部=%d"),rect.top,rect.bottom);//滚动一下滚动条,再看看效果 AfxMessageBox(str);
原文:http://www.cnblogs.com/duyy/p/3795907.html