MFC 文档/视图

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);    

 3.如何删除文档标题呢(如:无标题-Hello_world),怎么把“无标题-”三个字去掉呢?很简单,就一句话:

BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
    if( !CFrameWnd::PreCreateWindow(cs) )
        return FALSE;
    // TODO: 在此处通过修改
    //  CREATESTRUCT cs 来修改窗口类或样式

    cs.style&=~FWS_ADDTOTITLE;//就是这句话

    return TRUE;
}
原文地址:https://www.cnblogs.com/duyy/p/3795907.html