首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > WinCE >

WinCE下InvalidateRect与WM_ERASEBKGND解决思路

2012-04-28 
WinCE下InvalidateRect与WM_ERASEBKGNDWin32程序中有个窗口,上面又分成若干小窗口,点击一个小窗口其背景色

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

[解决办法]
CE的内存吃不消你的快速点击。

热点排行