使用Delphi实现文字滚动显示效果,主要是用Timer控制Label的位置实现,但是文字显示有闪烁,请高手指点如何消除闪烁!

解决方案 »

  1.   

    有一个小技巧:把Label放到Panel中然后移动面板
      

  2.   

    闪烁是因为重画造成的,将label放在panel上,移动panel可以防止闪烁,
    还有就是可以将label所在的wincontrol控件的DoubleBuffered设为true,如form.
    最好是你自己写一个控件,从Graphiccontrol或者customcontrol承继而来,自己在paint中在Canvas上面画出字。
      

  3.   

    闪烁是因为重画造成的,将label放在panel上,移动panel可以防止闪烁,
    还有就是可以将label所在的wincontrol控件的DoubleBuffered设为true,如form.
    最好是你自己写一个控件,从Graphiccontrol或者customcontrol承继而来,自己在paint中在Canvas上面画出字。
      

  4.   

    如果不是移动label的位置,
    而是释放原来的label对象,并且重新动态生成一个label在新位置上,
    也许可以消除闪烁,当然不一定,要实验一下。
      

  5.   

    用双缓冲的 GDI 作画
    一般的动画都不会闪。
      

  6.   

    呵呵一般都是吧label放在Panel!简单!