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