CView::OnUpdate

virtual void OnUpdate( CView* pSender, LPARAM lHint, CObject* pHint );

参数:
pSender指向修改了文档的视图,如果需要更新所有的视图,则为NULL。
lHint包含了与修改有关的信息。
pHint指向保存了与修改有关的信息的对象。

说明:
框架在视图的文档被修改后调用这个函数;这个函数被CDocument::UpdateAllViews调用的,使视图能够更新它的显示以反映那些变化。它也被OnInitialUpdate的缺省实现所调用。缺省的实现使整个客户区域无效,使得下一次接收到WM_PAINT消息时重画这些区域。如果你只想更新与文档的修改部分对应的区域,则应重载这个函数。为此你必须利用提示参数传递有关修改的信息。
如果要使用lHint,则应定义特殊的提示值,通常是位掩码或枚举值,并且使文档传递其中的一个值。要使用pHint,则应从CObject集成一个提示类,并使文档传递提示对象的指针。当你重载OnUpdate函数的时候,应使用CObject::IsKindOf成员函数来确定提示对象的运行时类型。
通常你不用在OnUpdate中直接执行任何绘图操作。相反,确定以设备坐标表示的矩形,描述要更新的区域,将这个矩形传递给CWnd::InvalidateRect。这会使下一次接收到WM_PAINT消息时产生绘图操作。
如果lHint为0,pHint为NULL,文档将发送一个一般的更新通知。如果一个视图接收到了一般的更新通知,或者它没有解码出提示,它将会使整个客户区无效。

请参阅:
CDocument::UpdateAllViews, CView::OnInitialUpdate, CWnd::Invalidate, CWnd::InvalidateRect