本帖最后由 ljc0895 于 2009-12-31 15:46:42 编辑

解决方案 »

  1.   

    我明白了,你可以试试以下方法:
    1.case WM_ERASEBKGND:
    return true;
    break;
    (没试过不知道行不行)
    2.不要整个窗口都刷新(即局部刷新),你要刷新哪里,就只刷新一个矩形的区域;
    3.还是创建位图按钮吧,然后设置主窗口的风格为:...WS_CLIPSIBLINGS|WS_CLIPCHILDREN....
    你要是想要动态的按钮,可以在按钮的OnDraw消息里画按钮,用我的话说就是子类化按钮(拦截其WM_MOUSEMOVE...等等消息),或者说就是给按钮添加回调函数;
    另外,补充一句话,见你好几次了。O(∩_∩)O哈哈~
      

  2.   

    首先,你不过直接在Onpaint里操作,要用到内存dc
    同楼上的,响应重载背景的方法,直接返回
    不要一味的重画,要在内部的控制,比如说,在鼠标已经按下的情况下,移动的消息就可以不处理了
    如果派生CButton,使用DrawItem来画,就没这么多问题了如果Cwnd直接派生来做的,就多注意上面的问题喽
      

  3.   

    如果你用的是 同一个定时器,则 之后SetTimer后 替代原来的 Timer,操作上,就会少动作。
      

  4.   

    觉得是你更新的时候是按钮和定时器同时更新的才会乱,在按钮更新的时候先 killtimer();