讨论一下UpdateWindow().
今天在写程序的时候用UpdateWindow(hwnd)更新窗口发现UpdateWindow(hwnd)更新不了窗口.
于是我便用SPY++踪窗口发现结果中没有一个WM_PAINT消息.
没办法我又试了一下用InvalidateRect(hwnd,NULL,TRUE)来刷新窗口了.这回行了.一用就OK了.
还捕获到WM_PAINT消息
我想知道为什么UpdateWindow(hwnd)没有发送WM_PAINT消息.
我查了SDK书上和MSDN都说该函数会发送WM_PAINT来更新窗口.
为什么我在xp + vc6.0的环境下用不了.该函数根本不起作用.
我甚至可以将Hello Win中UpdateWindow(hwnd)删掉.丝毫不影响程序.
哪位大哥来给我一个理由?
问题点数:20、回复次数:3Top
1 楼henan_lujun(地平风线)回复于 2005-08-01 08:13:01 得分 18
UpdateWindow 函数一般和InvalidateRect函数或其他使窗口无效的函数一起使用,也只有在窗口中存在无效区域的时候,UpdateWindow函数才会立即发送一个WM_PAINT消息,要是窗口中不存在无效区域,UpdateWindow基本上什么也不做的,所以就出现了楼主所说的情况了!Top
2 楼jixingzhong(瞌睡虫·星辰)回复于 2005-08-01 09:21:29 得分 2
................
楼上Top
3 楼antijpn(antijpn)回复于 2005-08-01 11:05:45 得分 0
Windows的问题,不该出现在此,转VC/MFC基础Top




