我想在视频全屏播放时在上面加一些字幕,就象超级解霸在右上角显示时间一样。我开始想在MediaPlayer上放一个Label,可是Label不能显示在MediaPlayer的上面,而其他控件又不能透明。我又用Canvas写在屏幕上,可以完成要求,但是我只能写一次,第二次写的时候会迭加在第一次的文字上面,我不知道如何清除前次写的字请大家帮忙应该如何做,谢谢!

解决方案 »

  1.   

    对于前次写的字,试试发送一个WM_PAINT消息看
      

  2.   


    RedrawWindow(0,nil,0,RDW_ERASE or RDW_INVALIDATE or RDW_ALLCHILDREN);
                    |     |
                   ---   ----
                 handle  RGN(可刷新局部屏幕)
    详细资料参阅Win32 SDK
      

  3.   

    To:Eastunfail(恶鱼杀手) 谢谢你,如何刷新局部的问题我还是不太清楚,能不能再讲讲,其中的PRECT和HRGN两个参数如何写我不太清楚。由其是PRECT,Delphi好象都是TRECT,没有这个变量呀!
      

  4.   

    传地址不就行了,加个@符号在TRect变量前面,还有就是invalidaterect,clientrecttoscreen之类的函数,要求系统重画一下就好了。