避免 flicker 的方法

=======================================================================
Message sent to a window when it has been invalidated. 
Tomes Graphical, pp. 754. Can be the cause of flicker -- 
intercept message to reduce flicker in some cases.

private
...
procedure WmEraseBkgnd(VAR Msg: TWmEraseBkgnd); 
  message Wm_EraseBkgnd;
...
// Tell Windows not to erase the background.
// This reduces the amount of flicker when repainting.
procedure TFormSlideShow.WmEraseBkgnd(var Msg: TWmEraseBkgnd);
begin
  Msg.Result := 1;
end;

pp. 329-333, Delphi Programming Problem Solver, Neil Rubenking
Displaying a bitmap on the client area of an MDI parent form (FAQ 176D)

See \Program Files\Borland\Delphi n\HELP\Examples\Bitmap\BMPFormU.PAS
This example uses 
  m.Result := LRESULT(FALSE),
where LRESULT is a LongInt type.  
[I need to resolve the conflict between the "1" in the example above 
and the FALSE returned in Borland's example.] 
=======================================================================
flicker 相關議題的網址

http://www.bcbdev.com/faqs/faq34.htm
http://www.efg2.com/Lab/Library/Delphi/Graphics/Algorithms.htm#Flickering
Avoiding flicker on DrawCell: http://community.borland.com/article/0,1410,16770,00.html

    Source: geocities.com/huanlin_tsai/faq

               ( geocities.com/huanlin_tsai)