您的位置:首页 > 其它

MFC中调用UpdateAllViews()无效问题

2012-04-04 15:51 211 查看
在doc类保存了图像数据,View的OnDraw里显示图像,当在doc类修改了图像,为了更新显示,在操作完成后,调用UpdateAllViews函数进行更新窗口,但是图像并没有更新。

 UpdateAllViews

连接文档-视图结构,要求各视图进行更新,而具体的更新操作由各视图的UpdateView来决定。而在View类的OnUpdate函数中,并没有添加任何消息处理,也就是说并没有调用OnDraw函数,虽然数据更新了(doc类的数据),但是但并没有调用窗口重绘的操作,所以为了刷新窗口,必需添加使窗口重绘的函数,可以调用Invalidate(使窗口无效从而重绘)或者直接调用OnDraw函数都可以。

void CImageProcessView::OnUpdate(CView* pSender, LPARAM lHint, CObject* pHint)
{
// TODO: Add your specialized code here and/or call the base class
Invalidate();
//CDC   *pDC=GetDC();
//OnDraw(pDC);
//ReleaseDC(pDC);
}



                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mfc class 文档