新建一个工程,在一个form窗口中,放上M*N(比如16*16)个相同的组件(可视化组件),比如:16*16个TButton),好了之后运行,这是没有问题的。但当我在最大化或者最小化的切换过程中会发现,这么多的可视化组件,会有一闪一闪的感觉,这样很难看,能不能快一点显示,要基本上看不出这种闪的感觉,这该怎么办呢?
各位可以试一下,帮小弟一个忙!!

解决方案 »

  1.   

    在主窗口加入不需要背景重画的处理,应该可以解决。在Private中加入:
        procedure WMEraseBkgnd(var Message: TWMEraseBkgnd); message  WM_ERASEBKGND;
    implement 后面:
    procedure TSuoHaVcl.WMEraseBkgnd(var Message: TWMEraseBkgnd);
    begin
      Message.Result := 1;
    end;
      

  2.   

    上面你说的,我试过了,不行的!WM_ERASEBKGND是擦除背景,本来的问题没有解决掉,又有了新问题
      

  3.   

    楼上有位兄弟说的“关闭最大最小化时的动画效果”不是这个问题,是在最大最小化切换过程中,TButton控件的闪烁问题,好像显的速度很慢一样
      

  4.   

    DoubleBuffered:= true;是什么意思?????
      

  5.   

    wincontrol有DoubleBuffered属性,设置为True即可
      

  6.   

    procedure TMainForm.FormCreate(Sender: TObject);
    begin
      DoubleBuffered := True;
    end;