Invalidate()这个函数有什么用?
来源:百度知道 编辑:UC知道 时间:2024/06/17 20:36:29
c++中的这个函数,一会是刷新窗口的作用,一会是使区域无效。我搞不懂这个函数究竟是有什么作用?谢谢赐教。
void Invalidate( BOOL bErase = TRUE );
该函数的作用是使整个窗口客户区无效。窗口的客户区无效意味着需要重绘,例如,如果一个被其它窗口遮住的窗口变成了前台窗口,那么原来被遮住的部分就是无效的,需要重绘。这时Windows会在应用程序的消息队列中放置WM_PAINT消息。MFC为窗口类提供了WM_PAINT的消息处理函数OnPaint,OnPaint负责重绘窗口。视图类有一些例外,在视图类的OnPaint函数中调用了OnDraw函数,实际的重绘工作由OnDraw来完成。参数bErase为TRUE时,重绘区域内的背景将被擦除,否则,背景将保持不变。
它和 UpdateWindow( )区别在于:
UpdateWindow( )的作用是使窗口立即重绘。调用Invalidate等函数后窗口不会立即重绘,这是由于WM_PAINT消息的优先级很低,它需要等消息队列中的其它消息发送完后才能被处理。调用UpdateWindow函数可使WM_PAINT被直接发送到目标窗口,从而导致窗口立即重绘。
下载帮助查一下
Invalidate()这个函数有什么用?
vc中的Invalidate()有什么作用?
mfc中,Invalidate调用后,是不是要产生WM_PAINT消息
对话框onPaint()中为何需要写入Invalidate();UpdateWindow();
分完区后电脑重启,黑屏,左上角只显示:invalidate partition table.
在MFC编程中Invalidate(); pDoc->SetModifiedFlag(TRUE); pDoc->UpdateAllViews(this);分别是什么意思?
```````````这个
这个..........
这个...............
急!!!这个“函”怎么写