3
votes

When 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?

3

3 Answers

1
votes

When you register your window class, set hbrBackground to (HBRUSH)(COLOR_3DFACE + 1)

0
votes

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.

0
votes

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?