最近在工作中遇到一些问题,希望大家帮帮我,分数不是问题
1 在桌面上画的半透明图像,想把它擦除,再画另外一种颜色半透明图像,只擦除自己画的那块区域,桌面背景不用擦除。2 回调函数是怎么执行的?是创建一个线程来运行回调函数吗,回调函数结束时,线程也结束吗,下一次调用时再创建一个线程,是这样的吗?请XDJM们帮帮我。

解决方案 »

  1.   

    1. 得到桌面窗口句柄,然后InvalidateRect
    2. 回调函数,顾名思义:一个函数执行处理之后,调用另外函数(回调函数)作后续处理,这个函数对后续处理一无所知。如果创建线程来运行,那就不能叫回调函数了,就是线程函数了。
      

  2.   

    1.因为是半透明的图像,画颜色在上面进行叠加时会用到背景图,所以,解决的办法是你在绘图第一种颜色之前,将将要画的区域颜色/位图保存起来,在画第二次前恢复,然后再画第二种颜色。如此类推。2.回调函数在当条件成立后会自动执行,原函数不必知道回调的过程。具体定义可以google一下。