MFC中调用UpdateAllViews()无效问题

来源:互联网 发布:python scapy 编辑:程序博客网 时间:2024/06/06 12:37

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





原创粉丝点击