MFC中调用UpdateAllViews()无效问题
2012-04-04 15:51
211 查看
在doc类保存了图像数据,View的OnDraw里显示图像,当在doc类修改了图像,为了更新显示,在操作完成后,调用UpdateAllViews函数进行更新窗口,但是图像并没有更新。
UpdateAllViews
连接文档-视图结构,要求各视图进行更新,而具体的更新操作由各视图的UpdateView来决定。而在View类的OnUpdate函数中,并没有添加任何消息处理,也就是说并没有调用OnDraw函数,虽然数据更新了(doc类的数据),但是但并没有调用窗口重绘的操作,所以为了刷新窗口,必需添加使窗口重绘的函数,可以调用Invalidate(使窗口无效从而重绘)或者直接调用OnDraw函数都可以。
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中循环中调用UpdateAllViews无效的问题
- MFC的OnDraw调用UpdateAllViews(this)频繁刷新
- 关于子线程中不能调用updateallviews
- 对MFC中CDocument::UpdateAllViews的理解
- 对MFC中CDocument::UpdateAllViews的理解
- FSO无效的过程调用或参数问题
- [cocos2d-x]关于update回调,以及继承后子类调用父类的Update处理的问题
- extjs调用后台oracle jdbc驱动无法进行删除和查询的问题(ps.executeUpdate())
- 新线程中调用service里update方法阻塞问题
- 解决在WM_ACTIVATE中调用ShowWindow有时会无效的我问题
- 有关HTML5 Video对象的ontimeupdate事件(Chrome上无效)的问题
- 对话框工程CTreeCtrl(checkbox风格)在OnInitDialog中调用CTreeCtrl::SetCheck()无效的问题
- Invalidate()与UpdateAllViews
- opencv调用摄像头在mfc控件中显示黑屏问题的解决
- C#调用MFC程序DLL库——MFC项目DLL生成问题、DLL引用链问题、DLL读取配置文件路径问题
- 控制台应用程序调用MFC DLL产生的对话框,解决对话框dlg.DoModal报错问题
- 解决Hibernate的session.save/update/delete操作无效问题(事务管理)
- UpdateAllViews
- 【unity3d】PlayerPrefs.DeleteAll调用无效解决方法
- 解决适配器(Adapter)数据更新调用 notifyDataSetChanged()无效问题