Delphi Form Painting Black Flash When Restoring
W开发者_Python百科hen I minimize and restore my Delphi application, the window contents flash a horrible black before (re)painting on Vista/Win7. This can also be seen with the Delphi 2007 IDE - the Object Inspector, Project Manager, Messages window (but not the editor contents) also flash black when restoring.
None of the ususal flicker-free painting techniques seem to make any difference, and some even make it worse: DoubleBuffered, WS_EX_COMPOSITED, WM_ERASEBKGND, etc.
Most Microsoft applications do not exhibit this behavior. Is this a problem with Delphi's implementation of Windows forms? Does anyone know of a workaround?
When you register your window class, set hbrBackground to (HBRUSH)(COLOR_3DFACE + 1)
I would check that you have current video drivers and review all the settings. I have never seen the effect you describe on these OS, either with Delphi or my own apps; and if it was a widespread problem I feel sure that the Embarcadero newsgroups would be full of it.
I have D2007 and D2010 on two machines (Win7 64-bit laptop and Vista 32-bit desktop), and don't have this problem on either of them in either the IDEs or my applications.
Do you have theme support/Aero enabled? What video card and drivers? Are you using the classic appearance in Windows?
精彩评论