我在Image上用DrawFocusRect的时候,屏幕闪的太厉害了,怎么才能克服这种现象呢?我是在Mousedown事件里把一布尔型变量打开为true,在MouseMove事件里先清除原来的框,再画新框,但这种办法Image闪得太厉害了,怎么才能不让Image闪动呢?

解决方案 »

  1.   

    //开一个双缓冲试试~~
    procedure TForm1.FormCreate(Sender: TObject);
    begin
      DoubleBuffered := True;
    end;
      

  2.   

    在切换时尝试使用api函数:lockwindowupdate也许是lockwindowsupdate,禁止在作处理时对窗体或控件的刷新,等完成后再刷新,可以解决闪烁的问题。
      

  3.   

    http://expert.csdn.net/Expert/topic/1399/1399255.xml
    http://expert.csdn.net/Expert/topic/1520/1520307.xml
      

  4.   

    问题解决,的确是双缓冲,但应该加在image1的父控件上,而不是加在form上!