避免 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