VC6.0中Invalidate与UpdataWindow的差别【转】

来源:互联网 发布:淘宝注册年龄要求 编辑:程序博客网 时间:2024/05/16 11:40

 转自http://blog.csdn.net/emesjx/article/details/6047973

 

1、Invalidate用于当前视图(窗口)刷新,其作用是,使整个客户区无效,发送WM_PAINT消息(如果是控件则发WM_DRAWITEM消息),由其响应函数OnPaint(或OnDraw)刷新视图内容。有两种调用方式:
Invalidate(false);//不抹背景
Invalidate()或Invalidate(true);//抹去背景
与Invalidate有关联的还有两个函数:InvalidateRect用于刷新矩形区;InvalidateRgn用于刷新规定图形区。
2、与Invalidate一样,UpdateWindow也是CWnd类成员函数,也用于刷新客户区。但UpdateWindow是无参数调用,强制抹去背景,且不排队发出WM_PAINT消息。
此外,UpdateAllViews也用于视图刷新,但它是CDocument类成员函数,主要用于单文档多视图结构。当文档操作结束后,刷新视图显示。可用于单个或所有视图刷新,其刷新操作是通过调用CView::OnUpdate函数完成的。
原创粉丝点击