SDK编程时,希望在非WM_PAINT消息时(比如点击菜单时)绘图.但是,一旦窗体被覆盖,则所绘图形不见了。如何处理呢? 谢谢!

解决方案 »

  1.   

    绘图操作要放在WM_PAINT消息处理函数中处理。不然肯定会被覆盖掉。
    你应该在点击菜单函数中设定要画的图形的相关数据,实际的画图操作在OnPaint或OnDraw中进行。
      

  2.   

    "绘图操作要放在WM_PAINT消息处理函数中处理。不然肯定会被覆盖掉。"这么严重!
      

  3.   

    应该可以使用内存解决吧。
    点击菜单时,将图形画到内存中去,并SendMessage WM_PAINT
    在WM_PAINT中,再将内存中的显示到屏幕上。
    设想而已。不知道如何做。
      

  4.   

    因为窗口会做一些默认的操作,比如移动,最大最小化,被其它窗口覆盖,都会自动触发WM_PAINT消息,窗口会在相关处理函数OnPaint中正确的画出默认的图形,而你在其它地方添加的绘图操作,默认的处理函数OnPaint并不知道,所以一触发WM_PAINT就调用默认的处理函数OnPaint覆盖。