我页面的背景是一个Timage控件,图片是BMP格式。点击某个事件的时候,一个IMAGE 和 一个EDIT 控件,由原来的不显示状态变成显示状态。这个时候出现2下闪屏,请问如何取消这个闪屏?用过:DoubleBuffered  := True;不行。谢谢!

解决方案 »

  1.   

    模拟了LZ的情况,即使不设DoubleBuffered也没有看到明显的闪烁。想必LZ的这个窗体上还有其它过于复杂的布局,可能其中某些东西影响了窗体的绘制性能,一个个排查一下吧。
      

  2.   


    页面上还有8个Timage控件,也都装载了BMP图片,点其中TIMAGE的时候,就样那个原先隐藏的IMAGE 和 一个EDIT 控件显示出来,这个时候就页面上的所有IMAGE控件都会闪一下。
    再补充一点,页面的IMAGE的PARENT 是一个PANENL,paneL的PARENT是窗体。非常感谢您的回复。
      

  3.   

    珍爱生命,远离Panel。布局尽量少用TPanel,层次多了会非常影响显示效率。另外注意TImage之前不要重叠吧。
      

  4.   


    Panel不好么。。还有,我页面上的Timage是重叠了的。
      

  5.   

    听我的,背景不要用Panel,实在要图就自己用TCanvas画,没有Canvas就用GetDC()得到Canvas,VCL在这方面是没用的,我以前就被坑过。。
      

  6.   

    把所有panel的parentbackground属性设为false试试。
      

  7.   

    所有操作时
    image1.update;
    image1.update;image1.update;image1.update;............
    ............