2 jujiawu1024 jujiawu1024 于 2016.02.04 22:32 提问

6.0的MFC的Invalidate()和UpdateWindow()
mfc

CEdit设置了字体以后,为什么调用UpdateWindow()就不行,要调用Invalidate()?Update不是全部更新么?

1个回答

caozhy
caozhy   Ds   Rxr 2016.02.04 22:42
已采纳

UpdateWindow:如果有无效区,则马上sending a WM_PAINT message到窗口处理过程,不进消息队列进行排队等待,立即刷新窗口,否则,什么都不做。

InvalidateRect():
该函数的功能与Invalidate基本一样,不同的是,它是使指定的某个区域无效,需要输入一个区域,如果参数为NULL,则设置整个窗口为无效区。

http://blog.csdn.net/ljh0600301217/article/details/8722812

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
MFC中Invalidate(); 和UpdateWindow();的用法
1. Invalidate()是强制系统进行重画,但是不一定就马上进行重画。因为Invalidate()只是通知系统,此 时的窗口已经变为无效。强制系统调用WM_PAINT,而这个消息只是Post就是将该消息放入消息队列。当执行到WM_PAINT消息时才会对敞口进行重绘; UpdateWindow只向窗体发送WM_PAINT消息,在发送之前判断GetUpdateRect(hWnd,NULL,T
Invalidate和UpdateWindow,UpdateData区别联系
Invalidate和UpdateWindow的区别 按引:Invalidate在消息队列中加入一条WM_PAINT消息,其无效区为整个客户区。而UpdateWindow直接发送一个WM_PAINT消息,其无效区范围就是消息队列中WM_PAINT消息(最多只有一条)的无效区。效果很明显,调用Invalidate之后,屏幕不一定马上更新,因为WM_PAINT消息不一定在队列头部,而调用
Invalidate、RedrawWindow与UpdateWindow的区别
一:什么时候才会发生重绘窗口的消息?       当需要更新或重新绘制窗口的外观时,应用程序就会发送WM_PAINT消息。对窗口进行重新绘制。 二:Invalidate() -- RedrawWindow() -- UpdateWindow()三个函数有什么异同?       Invalidate()是强制系统进行重画,但是不一定就马上进行重画。因为Invalidate()只是通
关于MFC CWND::Invalidate()使用的小结
1.函数原型 void Invalidate(BOOL bErase = TRUE); 2.bErase参数    若为默认值(TRUE),则不会调用onPaint函数;反之则调用。 3.特别注意    在一个函数内部调用该方法后,并不会立即更新窗口,而是等函数执行完后才更新。    也就意味着:如果你在Invalidate后马上画一张图,图片不会显示。    解决办法:I
Invalidate、InvalidateRect、UpdateData、UpdateWindow的用法和区别
InvalidateRect()函数的作用是设置一个无效区域,并发送一个WM_PAINT消息到消息队列中,不过这个消息在众多的消息之中优先级比较级。 在VC++编程中,对无效区域的处理方式是: 在OnPaint()中绘图,不管它绘制了什么图形,有一点应该明白,有效区域是绘制不上去图形的,或者是尽管绘制上去了,但也不会显示出来。总之就是在有效区域上绘制的图形不能生效。 换一种说法就
控件上的Invalidate(),UpdateWindow()
在对话框的OnPaint()函数中,IDC_DASSAD为静态文本框ID CStatic *pWnd=(CStatic*)GetDlgItem(IDC_DASSAD); CRect rect; pWnd->GetClientRect(&rect); //pWnd->Inv
InvalidateRect()、UpdateWindow()、RedrawWindow()区别
先看一段移动图片的程序:       绘图工作都在ReDraw()中   响应MouseMove  改变图片的位置,鼠标移动后需要重绘窗口   实验一: ReDraw()在MouseMove函数中调用 OnMouseMove(UINT nFlags, CPoint
MFC 中Invalidate的使用
Invalidate的使用 在用MFC练习绘图的过程中,碰到了这个语句Invalidate();于是乎度娘了一把,又查找了一些资料,整理如下: 一.Invalidate函数原型: void Invalidate( BOOL bErase = TRUE); 该函数的作用是使整个窗口客户区无效。窗口的客户区无效意味着它需要重绘,例如,如果一个被其它窗口遮住的窗口变成了前台窗口
Invalidate.doc
Invalidate与UpdateWindow区别.doc
关于ScrollWindow()和UpdateWindow()
windows程序设计第4章,加滚动条