Invalidate()使整个窗口客户区无效。窗口的客户区无效意味着需要重绘,例如,如果一个被其它窗口遮住的窗口变成了前台窗口,那么原来被遮住的部分就是无效的,需要重绘。这时Windows会在应用程序的消息队列中放置WM_PAINT消息。MFC为窗口类提供了WM_PAINT的消息处理函数OnPaint,OnPaint负责重绘窗口。视图类有一些例外,在视图类的OnPaint函数中调用了OnDraw函数,实际的重绘工作由OnDraw来完成。参数bErase为TRUE时,重绘区域内的背景 将被擦除,否则,背景将保持不变。
1、当做完绘画相关操作(SetIcon)可以使用Invalidate来更新窗口。
2、如果在PAINT消息处理函数中调用Invalidate()函数,那么界面将会不停地闪烁。
UpdateData(TRUE)根据对话框的内容更新变量的值。
UpdateData(FALSE)根据变量的值更新对话框的内容。
UpdateData并不会重绘窗口。
UpdateWindow这个函数会使窗口马上重绘,优先级比Invalidate高。
时间: 2024-09-30 06:43:45