You can easily implement double buffering in Win32. Assuming you are making your picture directly in the window using the context of your device, do this instead:
Create a βmemoryβ device context and make the whole picture in the context of this device, then copy the invalid portions of the window into the context of the actual device, if necessary, using BitBlt()
Here's a pretty good (albeit high level) review here.
Chad source share