WinCE下InvalidateRect与WM_ERASEBKGND
Win32程序中有个窗口,上面又分成若干小窗口,点击一个小窗口其背景色改变。我在左键按下时,设置一个bool变量确定那个子窗口被按下,此时用InvalidateRect引起窗口局部无效!采用WM_ERASEBKGND消息响应,以防止重画背景引起的明显闪烁现象,函数中用BeginPaint开始绘图。
问题:我快速连续的点击子窗口,发现整个窗口都无效,即都改变了背景色,而一个一个不是非常快的点击则正常。网上找了资料说InvalidateRect会引起WM_PAINT的积累,于是我用在InvalidateRect用UpdateWindow立即更新,但是结果是一样的。请问大家知道这是为什么吗?我要做到快速点击也只是点击的子窗口改变背景色!
[解决办法]
CE的内存吃不消你的快速点击。