当前位置: 代码迷 >> VC >> 为啥调用 UpdateAllViews 没有反应
  详细解决方案

为啥调用 UpdateAllViews 没有反应

热度:3042   发布时间:2013-02-25 00:00:00.0
为什么调用 UpdateAllViews 没有反应
我做了一个MDI多文档程序,建立了一个分割视图,把屏幕上下两部分。上部分为一个以FormView为基类的试图CCode_Table类。
下面是的一个普通视图。在文档类中,我想通过调用UpdateAllViews来只更新上面的CCode_Table视图,代码如下:
CCode_Table* pview = (CCode_Table*)((CChildFrame*)((CMainFrame*)AfxGetMainWnd())->GetActiveFrame())->m_wndSplitter.GetPane( 0 , 0 ); 
以上代码得到CCode_Table的指针,然后调用
UpdateAllViews( pview );
我重载了CCode_Table 视图的UpData,加入了一条语句。
可是当我调用 UpdateAllViews 后,却没有任何反应。也许你会问,CCode_Table 视图是否与文档类相连。我调用
UpdateAllViews( NULL );
CCode_Table 视图的UpData就会有反应。也许你会问,pview指针是否正确。我通过pview-> 提示,看到了我在CCode_Table中定义的变量,说明得到的指针是正确的,可就是没反应,也不提示错误,请高手帮忙看看!
------解决方案--------------------------------------------------------
怎么没有人回答,难道谁也没遇到这种情况吗
------解决方案--------------------------------------------------------
我今天看到了了一个关于  UpdateAllViews( pview ); 
的解释,说是从更新循环中忽略pview 所指向的视图,也就是说,不更新指定的视图,只更新余下的其他视图,不知我的理解对不对。如果是那样,也就可以理解为什么UpdateAllViews( pview ); 后,没反映了。