Moving Windows (Lots of them)

I've implemented a card game using Pascal.  All cards have been
implemented as descendants of TWindow.  When the game starts, I move all
cards to where they should be by making successive calls to MoveWindow
and UpdateWindow (to immediately show the card, thus getting the
MSHEARTS distribution effect). My card paint method simply makes a call
to cdtDraw from the CARDS.DLL

Of course, this turns out to be very slow (even on a Pentium processor).
Is there a better way of doing this (still leaving cards implemented as
a descendant of TWindow)???

copy in any responses.  Thank you!