Switching MDI children with Delphi app flashes

I noticed that in applications written with Delphi, there's a lot of flashing
when switching child windows when the active child is maximized.

If you choose a child from the Window menu, the active child restores to normal
window state, and the one that will be activated get's maximized.

Now, in the Win API I read this is default behaviour of MDI applications. But
in other apps (apps that weren't written with Delphi), I never see this happen.

And try this with a Delphi app: previous or next child (CTRL-F6) is very
smooth. Why isn't this smooth when choosing a child from the Window menu or
when I programmatically do a BringToFront? Is it possible to have a smooth MDI
child switching? When Previous or Next can be smooth, there must be a way to
have smooth switching when you use BringToFront or the Window menu.

I tried LockWindowUpdate for the frame form handle and clienthandle, to hide
the flashing, but that would introduce another problem: the whole Windows
desktop flickers if I use LockWindowUpdate for the frameform in my Delphi app.

I HATE this. Has any one a TIP, please?

     Rogier Meurs  -  0meur...@lelystad.flnet.nl

        Visit the RogSoft NotePad+ HomePage!
 NotePad+ is the Free Win95 Notepad replacement that
          eats standard Notepad for lunch!
        http://lelystad.flnet.nl/~0meurs01/